两个DataFrame行的顺序不一样,主键为A列,行数也不相同,用merge将两个DataFrame合并为一个DataFrame,并进行相减,生成一个新的DataFrame
时间: 2023-08-14 13:06:51 浏览: 235
Python通过两个dataframe用for循环求笛卡尔积
你可以使用`merge`函数将两个DataFrame按照'A'列进行合并,然后进行相减操作,生成一个新的DataFrame。以下是示例代码:
```python
import pandas as pd
# 示例数据
df1 = pd.DataFrame({'A': [1, 2, 3, 4],
'B': [10, 20, 30, 40],
'C': [100, 200, 300, 400]})
df2 = pd.DataFrame({'A': [4, 3, 2],
'B': [40, 30, 20],
'C': [400, 300, 200]})
# 使用merge合并两个DataFrame
merged_df = pd.merge(df1, df2, on='A')
# 计算相减结果
subtracted_df = merged_df.iloc[:, 1:] - merged_df.iloc[:, 4:]
print(subtracted_df)
```
这样,你可以得到一个新的DataFrame `subtracted_df`,其中包含了按照'A'列合并后,其他列相减的结果。注意,这只是一个示例代码,具体实现还需要根据你的数据格式和需求进行调整。
阅读全文