首页 > 解决方案 > 如何将 Dataframe 转换为给定格式的键值对

问题描述

我有一个这样的数据框

     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')]

有什么建议吗?

标签: python-3.xpandaslistdataframetuples

解决方案


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

[(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'))

推荐阅读