【问题标题】:How to convert Dataframe into key-Value pair in given format如何将 Dataframe 转换为给定格式的键值对
【发布时间】:2019-06-01 21:01:01
【问题描述】:

我有一个这样的数据框

     Number     String 

  0   12        Hi
  1   34        how
  2   35        are

现在我想把它转换成给定的格式

[(Number=12, String='hi'),(Number=34, String='How'),(Number=35, String='are')]

我试过了

tuples = [tup for tup in df.itertuples()]

这是返回给我的结果

[Pandas(Index=0, Number=12, String='hi'),
 Pandas(Index=1, Number=34, String='How'),
 Pandas(Index=2, Number=35, String='are')]

有什么建议吗?

【问题讨论】:

  • (Number=12, String='hi') 不是有效的 Python 格式。

标签: python-3.x pandas list dataframe tuples


【解决方案1】:

你可以得到一个单行的元组列表:

[(k, v) for k,v in df.set_index('Number')['String'].to_dict().items()]

或者一个元组的元组:

tuple((k, v) for k,v in df.set_index('Number')['String'].to_dict().items())

> ((12, 'Hi'), (34, 'how'), (35, 'are'))

【讨论】:

  • 你没有看到我预期的输出。这不是我想要的
  • 您可以遍历更新的元组列表并以所需格式创建一个新列表。
  • 我想过用字符串来做这个,但我觉得 OP 想要命名元组。我不太确定为什么
猜你喜欢
  • 1970-01-01
  • 2016-02-15
  • 2019-08-23
  • 2016-09-24
  • 2020-12-26
  • 1970-01-01
  • 2017-01-08
  • 2021-02-24
  • 2014-01-05
相关资源
最近更新 更多