在 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 列

如何将两个数据框之间的多列压缩到字典对象中?

如何使用熊猫将csv转换为字典

python pandas中如何将dataframe中的一列字符串类型转换为浮点类型?

如何将CSV文件转换为python字典

如何将字典转换为 Pandas df?