在 Python 中,如何将字典转换为 df 列,其中键与 df.index 值匹配?
Posted
技术标签:
【中文标题】在 Python 中,如何将字典转换为 df 列,其中键与 df.index 值匹配?【英文标题】:In Python, how can I transform a dictionary into a df column, where the keys match the df.index values? 【发布时间】:2015-01-25 13:04:52 【问题描述】:我有一个dataframe和一个dictionary,dict的key和dataframe的index值是一样的,像这样:
A = pd.DataFrame([[1, 5, 2], [2, 4, 4], [3, 3, 1], [4, 2, 2], [5, 1, 4]],
columns=['A', 'B', 'C'], index=["1a", "2a", "3a", "4a", "5a"])
B = '1a': 0.5, '2a': 0.75, '3a': 0.625, '4a': 0.55, '5a': 1
如何将字典的值转换为数据框中列的值,匹配它们各自的键 - 索引值。所以输出会是这样的:
A B C D
1a 1 5 2 0.5
2a 2 4 4 0.75
3a 3 3 1 0.625
4a 4 2 2 0.55
5a 5 1 4 1
新列“D”包含字典“B”中的所有值,并且数据框中的每个索引值都与字典中的对应键值匹配。
谢谢
【问题讨论】:
【参考方案1】:您可以用pandas.Series
包装dict
,然后简单地将其创建为列:
In [633]: A['D'] = pd.Series(B)
In [634]: A
Out[634]:
A B C D
1a 1 5 2 0.500
2a 2 4 4 0.750
3a 3 3 1 0.625
4a 4 2 2 0.550
5a 5 1 4 1.000
【讨论】:
以上是关于在 Python 中,如何将字典转换为 df 列,其中键与 df.index 值匹配?的主要内容,如果未能解决你的问题,请参考以下文章
如何将 python 对象(如字典)分配给 pandas 列