pandas 拼接并去重
时间: 2023-09-04 16:04:00 浏览: 109
Pandas 数据框增、删、改、查、去重、抽样基本操作方法
### 回答1:
如果你有两个或多个 pandas DataFrame,你可以使用 `concat()` 函数将它们拼接在一起。要去除重复的行,你可以使用 `drop_duplicates()` 函数。
下面是一个示例,假设你有两个数据集 `df1` 和 `df2`:
``` python
import pandas as pd
df1 = pd.DataFrame({'col1': ['A', 'B', 'C'], 'col2': [1, 2, 3]})
df2 = pd.DataFrame({'col1': ['D', 'E', 'F'], 'col2': [4, 5, 6]})
```
如果你想将这两个数据集拼接在一起,并去除重复行,你可以使用以下代码:
``` python
df = pd.concat([df1, df2]).drop_duplicates()
```
这将创建一个新的 DataFrame `df`,其中包含 `df1` 和 `df2` 中的所有行,并且重复行只出现一次。
### 回答2:
pandas是一个强大的数据处理工具,可以用来拼接和处理数据。对于拼接,pandas提供了多种方法,常用的有concat和merge。拼接可以实现将多个DataFrame对象按照一定的方式进行合并。
拼接多个DataFrame对象可以使用concat方法。通过指定axis参数可以决定拼接的方向,axis=0表示按行拼接,axis=1表示按列拼接。拼接的对象可以是两个或多个DataFrame对象。在拼接之前,可以使用drop_duplicates方法去除重复的行或列。
例如,有两个DataFrame对象df1和df2,我们可以使用concat方法将它们按行进行拼接,并去除重复行。
```python
import pandas as pd
df1 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
df2 = pd.DataFrame({'A': [3, 4, 5], 'B': [6, 7, 8]})
df_concat = pd.concat([df1, df2]).drop_duplicates()
print(df_concat)
```
运行结果如下:
```
A B
0 1 4
1 2 5
2 3 6
1 4 7
2 5 8
```
可以看到,df_concat是df1和df2按行拼接后去除重复行的结果。
除了concat,pandas还提供了merge方法进行拼接。merge可以根据指定的列将多个DataFrame对象进行拼接,并去除重复的行。与concat不同的是,merge可以根据指定的列进行拼接,并且可以指定不同的拼接方式(比如内连接、外连接、左连接、右连接等)。
综上所述,pandas提供了多种方法进行拼接和去重操作,其中常用的有concat和merge方法。可以根据具体的需求选择合适的方法进行数据处理。
阅读全文