有一个数据框df:

import pandas as pd
import numpy as np

i = ['dog', 'cat', 'rabbit', 'elephant'] * 3

df = pd.DataFrame(np.random.randn(12, 2), index=i, columns=list('AB'))

...以及B列的查询字典:
b_dict = {'elephant': 2.0, 'dog': 5.0}
df的B列如何替换成大象和狗排?
df['B'].update(b_dict)提供:

最佳答案

转换为pd.Series即可使用update

df['B'].update(pd.Series(b_dict))
df
Out[185]:
                 A         B
dog      -1.340695  5.000000
cat      -0.196993 -0.021518
rabbit   -0.274504 -0.260294
elephant -0.170860  2.000000
dog      -0.432042  5.000000
cat       0.868669  0.204100
rabbit    0.435023 -1.968735
elephant -0.668397  2.000000
dog       0.706603  5.000000
cat       0.158067  0.675130
rabbit    0.429419  0.374914
elephant  1.559330  2.000000

关于pandas - 使用字典查找更新 Pandas 列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54652103/

10-12 18:22