我有一个 pandas DataFrame 和一个系列。他们的样本是:
b = [
{'key': 'c', 'value': 10},
{'key': 'a', 'value': 5},
{'key': 'b', 'value': 3},
{'key': 'd', 'value': 99}
]
df = pd.DataFrame(b)
a = {'a': 1, 'b': 2, 'c': 3}
series = pd.Series(a)
如何将series
的值添加到df
中的value
列,其中series
的索引> 与 df
的 key
列匹配吗?请注意,不在 series
中的键 d
不会改变。对于上面的例子,我想最终得到:
result_data = [
{'key': 'c', 'value': 13},
{'key': 'a', 'value': 6},
{'key': 'b', 'value': 5},
{'key': 'd', 'value': 99}
]
result_df = pd.DataFrame(result_data)
最佳答案
您可以简单地使用a
作为查找字典:
df['sum'] = df.apply(lambda x: x['value'] + a.get(x['key'], 0), axis=1)
print(df[['key', 'sum']])
key sum
0 c 13
1 a 6
2 b 5
3 d 99
关于python - Pandas,如何将系列添加到 DataFrame 列,其中系列索引与 DataFrame 列匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59849180/