现存在df1和df2,df1拥有A列,A列内值为不重复的字符串,新建df1的B列,内容为,df2中C列于A列的字符串相等的D列数字之和。举例df1A列内有'吃饭'、'睡觉'、'打游戏',df1B列的数值则为,df2C列"吃饭"对应的D列数值之和、df2C列"睡觉"对应的D列数值之和、df2C列"打游戏"对应的D列数值之和。
时间: 2024-04-15 21:28:39 浏览: 58
Pandas之DataFrame对象的列和索引之间的转化
您可以使用`merge`和`groupby`函数来实现这个需求。首先,您需要将df1和df2根据'A'列和'C'列进行合并,然后使用`groupby`函数对合并后的数据按照'A'列进行分组,并计算'D'列的和。最后,将计算结果赋值给df1的'B'列即可。
下面是一个示例代码:
```python
# 合并df1和df2
merged_df = df1.merge(df2, left_on='A', right_on='C', how='left')
# 按照'A'列分组并计算'D'列的和
result_df = merged_df.groupby('A')['D'].sum().reset_index()
# 将计算结果赋值给df1的'B'列
df1['B'] = result_df['D']
```
请确保df1和df2的列名与代码中的列名一致,以及数据类型正确。
阅读全文