【发布时间】:2017-08-10 22:17:07
【问题描述】:
我有一个这样的df
STATUS_ID STATUS_NM
0 1 A
1 2 B
2 3 C
3 4 D
我想通过 apply 执行一行来获取单独列中每一行的键、值 par。最终的df应该是
STATUS
0 {STATUS_ID:1,STATUS_NM:A}
1 {STATUS_ID:2,STATUS_NM:B}
2 {STATUS_ID:3,STATUS_NM:C}
3 {STATUS_ID:4,STATUS_NM:D}
更新:
我试过df[cols].apply(pd.Series.to_dict, axis=1) 和df[cols].apply(lambda x: x.to_dict(), axis=1) 但我没有得到实际的字典,而是得到
<built-in method values of dict object at 0x00...
我相信是我的 pandas 版本导致了这个问题。这已经在这里讨论过 - https://github.com/pandas-dev/pandas/issues/8735 所以问题是是否有另一种方法来执行相同的操作来规避这个问题。我无法将我的 Pandas 版本更新到 0.17
【问题讨论】:
-
您在为哪一部分苦苦挣扎?定义字典?从表中获取每一行?添加新列?删除旧列?在您的问题中尽量具体,以便我们提供帮助。
-
请查看我的更新。谢谢
-
@Fizi 我添加了一个显式循环解决方案。请检查。
-
@ayhan 谢谢。我实际上是想摆脱对行的迭代,因此是我的问题。但是如果不更新我的熊猫版本,似乎没有办法做到这一点。感谢您的帮助!