两表合并重置索pandas重置索引值引值
时间: 2024-10-22 08:16:45 浏览: 43
在Pandas库中,当需要将两个数据框DataFrame合并并重置索引时,通常会用到`concat()`、`merge()`或`join()`函数,具体取决于你的合并需求。以下是几种常见的情况:
1. ** concat() + reset_index(drop=True) **:如果两个数据框有相同的列名并且你想保留各自的数据,可以先用`concat()`横向或纵向合并,然后使用`reset_index()`函数重置索引,其中`drop=True`表示丢弃默认创建的原索引。
```python
df1 = ... # 第一个数据框
df2 = ... # 第二个数据框
merged_df = pd.concat([df1, df2], axis=0) # 横向合并
merged_df = merged_df.reset_index(drop=True)
```
2. ** merge() 或 join() + drop_duplicates() **:如果你需要基于某些键进行连接,并希望重置索引,可以使用`merge()`或`join()`。合并完成后,如果不需要原始键作为索引,可以用`drop_duplicates()`删除重复行并重置索引。
```python
# 假设df1有一个键column_to_merge,我们想根据这个键连接
df1 = ... # 数据包含 column_to_merge
df2 = ...
merged_df = df1.merge(df2, on='column_to_merge') # 或者 df1.join(df2, on='column_to_merge')
merged_df.drop_duplicates(inplace=True)
merged_df.reset_index(drop=True, inplace=True)
```
阅读全文