【问题标题】:Python map values from dictionary to dataframePython将值从字典映射到数据框
【发布时间】:2020-11-02 02:12:28
【问题描述】:

我有一个 pandas 数据框,如下所示:

df = 
    key     value
1   Level       1
2   Age        35 
3   Height    180
4   Gender      0
...

还有一个字典如下:

my_dict = {
           'Level':{0: 'Low', 1:'Medium', 2:'High'},
           'Gender': {0: 'Female', 1: 'Male'}
          }

我想从字典映射到数据框,并用字典中的对应值更改“值”列,例如输出变为:

    key        value
1   Level     Medium
2   Age           35 
3   Height       180
4   Gender    Female
...

列中的其他值也可以变成字符串。我怎样才能做到这一点?感谢您的帮助。

【问题讨论】:

  • 字典看起来不对。那应该是字典中的字典吗?
  • 已更正,抱歉。
  • 请注意,字典可能有更多的键,所以手动映射不太可行。

标签: python pandas


【解决方案1】:

检查replace

out = df.set_index('key').T.replace(my_dict).T.reset_index()
out
Out[27]: 
      key   value
0   Level  Medium
1     Age      35
2  Height     180
3  Gender  Female

【讨论】:

    【解决方案2】:

    df.at[1, 'value'] = my_dict['Level'][df.at[1, 'value']]
    df.at[4, 'value'] = my_dict['Gender'][df.at[4, 'value']]

    【讨论】:

      猜你喜欢
      • 2015-07-24
      • 1970-01-01
      • 2015-10-17
      • 1970-01-01
      • 1970-01-01
      • 2021-05-26
      • 2021-01-01
      • 1970-01-01
      • 2017-10-08
      相关资源
      最近更新 更多