pandas整表去重
时间: 2023-11-11 19:00:58 浏览: 79
可以使用 pandas 库中的 drop_duplicates() 方法来实现整表去重。具体操作如下:
```python
import pandas as pd
# 读取数据
df = pd.read_csv('data.csv')
# 去重
df.drop_duplicates(inplace=True)
# 输出结果
print(df)
```
其中,`inplace=True` 表示直接在原数据上进行修改,不创建新的数据副本。
相关问题
pandas 对列去重
你可以使用 `drop_duplicates()` 方法对 DataFrame 中的某一列去重。例如,如果你有一个名为 `df` 的 DataFrame,其中有一列名为 `column_name`,你可以使用以下代码对该列进行去重:
```
df.drop_duplicates(subset=['column_name'], keep='first', inplace=True)
```
其中,`subset` 参数指定要去重的列(可以是多列),`keep` 参数指定保留哪个重复项(默认为 `'first'`,即保留第一个重复项),`inplace` 参数指定是否在原 DataFrame 上进行修改(默认为 `False`,即返回一个新的 DataFrame)。
如果你想要对整个 DataFrame 进行去重,可以省略 `subset` 参数:
```
df.drop_duplicates(keep='first', inplace=True)
```
这将对整个 DataFrame 进行去重,并保留第一个重复项。
pandas 拼接并去重
要将两个 pandas DataFrame 进行拼接并去重,可以使用 `concat()` 和 `drop_duplicates()` 方法。
首先,使用 `concat()` 方法将两个 DataFrame 拼接起来,设置参数 `ignore_index=True` 可以重新设置索引。例如:
``` python
import pandas as pd
df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'],
'B': ['B0', 'B1', 'B2', 'B3'],
'C': ['C0', 'C1', 'C2', 'C3'],
'D': ['D0', 'D1', 'D2', 'D3']})
df2 = pd.DataFrame({'A': ['A2', 'A3', 'A4', 'A5'],
'B': ['B2', 'B3', 'B4', 'B5'],
'C': ['C2', 'C3', 'C4', 'C5'],
'D': ['D2', 'D3', 'D4', 'D5']})
result = pd.concat([df1, df2], ignore_index=True)
```
此时,`result` 将会是一个拼接后的 DataFrame,如下:
```
A B C D
0 A0 B0 C0 D0
1 A1 B1 C1 D1
2 A2 B2 C2 D2
3 A3 B3 C3 D3
4 A2 B2 C2 D2
5 A3 B3 C3 D3
6 A4 B4 C4 D4
7 A5 B5 C5 D5
```
注意到有重复的行,因此需要使用 `drop_duplicates()` 方法去重,例如:
``` python
result = result.drop_duplicates()
```
此时,`result` 将会是去重后的 DataFrame,如下:
```
A B C D
0 A0 B0 C0 D0
1 A1 B1 C1 D1
2 A2 B2 C2 D2
3 A3 B3 C3 D3
6 A4 B4 C4 D4
7 A5 B5 C5 D5
```
如果希望根据某些列去重,可以将 `drop_duplicates()` 方法的参数 `subset` 设置为需要去重的列名,例如:
``` python
result = result.drop_duplicates(subset=['A', 'B'])
```
此时,`result` 将会根据列 `A` 和 `B` 进行去重,如下:
```
A B C D
0 A0 B0 C0 D0
1 A1 B1 C1 D1
2 A2 B2 C2 D2
3 A3 B3 C3 D3
6 A4 B4 C4 D4
7 A5 B5 C5 D5
```
阅读全文