[英]Pandas, how to add Series to DataFrame column, where series index matches a DataFrame column?
我有一个 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
你关心指数吗?
df = df.set_index('key')
df.add(series, axis=0).fillna(df)
value
a 6.0
b 5.0
c 13.0
d 99.0
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.