pandas 对列去重
时间: 2023-07-11 15:20:47 浏览: 143
你可以使用 `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 的 groupby 函数和 nunique 函数来实现多列去重并统计重复个数。
假设我们有一个数据集 df,其中包含三列 A、B、C:
```
import pandas as pd
df = pd.DataFrame({
'A': ['foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'foo'],
'B': ['one', 'one', 'two', 'three', 'two', 'two', 'one', 'three'],
'C': [1, 2, 1, 1, 2, 1, 2, 1]
})
```
我们想要根据列 A 和 B 去重,并统计重复的个数。可以使用以下代码:
```
df.groupby(['A', 'B']).nunique()
```
输出结果如下:
```
A B C
A B
bar one 1 1 1
three 1 1 1
two 1 1 1
foo one 1 1 2
three 1 1 1
two 1 1 1
```
其中,第一列和第二列是去重后的列 A 和 B,第三列是重复的个数(即列 C 的不同值的个数)。
pandas对DataFrame去重的函数用法
您可以使用pandas中的drop_duplicates()函数来去除DataFrame中的重复行。例如,若DataFrame名为df,代码可以如下:
df.drop_duplicates()
该函数默认去除全部列重复的行,若想只去除特定列重复的行,则可在函数中加入subset参数,指定待去重列的列名列表,例如:
df.drop_duplicates(subset=['列1','列2'])
阅读全文