用Series的键替换匹配的列名中的DataFrame值

时间:2020-10-12 03:51:58

标签: python pandas dataframe

我有一个数据框:

df = pd.DataFrame(
     [[1, 2, 3, 0, 0], [4, 5, 6, 0, 0]],
     columns=['a', 'b', 'c', 'd', 'e'])

和数据系列:

s = pd.Series({'d': 7, 'e': 8})

我需要用{{1}中的值替换df中的值,其中列名与s中的键匹配,即此处的de }}在每个s的行上重复。理想的结果是:

df

有没有一种优雅的熊猫方式来做到这一点?非常感谢〜

1 个答案:

答案 0 :(得分:6)

让我们使用DataFrame.assign

df.assign(**s)

   a  b  c  d  e
0  1  2  3  7  8
1  4  5  6  7  8