微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Python中,如何将字典转换为df列,其中键与df.index值匹配?

我有一个数据帧和一个字典,dict的键与数据帧的索引值相同,如下所示:

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’中的所有值,并且数据帧中的每个索引值与dict中的对应键值匹配.

谢谢

解决方法:

您可以使用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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐