Python 现在,如何将序列添加到数据帧列,其中序列索引与数据帧列匹配?
我有一个熊猫数据框和一个系列。它们的样本是:Python 现在,如何将序列添加到数据帧列,其中序列索引与数据帧列匹配?,python,pandas,dataframe,Python,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) 如何将系列的值添
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)
如何将系列
的值添加到df
中的值
列,其中系列
的索引与键
列相匹配?注意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