dataframe中相同索引合并
时间: 2023-06-14 11:07:26 浏览: 166
python之DataFrame实现excel合并单元格
4星 · 用户满意度95%
你可以使用 `pandas` 库中的 `merge` 方法来合并两个相同索引的 `dataframe`。下面是一个例子:
假设有两个 `dataframe`,分别为 `df1` 和 `df2`,它们的索引相同,且都有一个名为 `value` 的列,你可以使用下面的代码将它们合并为一个 `dataframe`:
```
import pandas as pd
df1 = pd.DataFrame({'value': [1, 2, 3]}, index=['a', 'b', 'c'])
df2 = pd.DataFrame({'value': [4, 5, 6]}, index=['a', 'b', 'c'])
merged_df = pd.merge(df1, df2, on=df1.index)
print(merged_df)
```
这里使用了 `merge` 方法,并且指定了 `on` 参数为 `df1` 的索引,这样就会将两个 `dataframe` 按照索引进行合并。输出结果如下:
```
key_0 value_x value_y
0 a 1 4
1 b 2 5
2 c 3 6
```
可以看到,合并后的 `dataframe` 包含了原来两个 `dataframe` 中的所有行,但是列名被自动命名为 `key_0`, `value_x`, 和 `value_y`。你可以使用 `rename` 方法将它们改为你需要的名称,比如:
```
merged_df = merged_df.rename(columns={'value_x': 'df1_value', 'value_y': 'df2_value'})
print(merged_df)
```
输出结果如下:
```
key_0 df1_value df2_value
0 a 1 4
1 b 2 5
2 c 3 6
```
现在,合并后的 `dataframe` 中的列名就被改为了 `df1_value` 和 `df2_value`,你可以根据需要进一步处理它。
阅读全文