pandas 对列去重
时间: 2023-07-11 10:20:47 浏览: 83
你可以使用 `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对列数据去重
可以使用 `drop_duplicates()` 方法对 pandas 数据库中的列数据进行去重,例如:
```python
import pandas as pd
# 创建一个包含重复数据的 DataFrame
data = {'fruit': ['apple', 'banana', 'apple', 'orange', 'banana', 'banana'],
'count': [2, 3, 1, 4, 2, 1]}
df = pd.DataFrame(data)
# 对 'fruit' 列进行去重
df_fruit = df.drop_duplicates('fruit')
print(df_fruit)
```
输出结果为:
```
fruit count
0 apple 2
1 banana 3
3 orange 4
```
在这个例子中,我们先创建了一个包含重复数据的 DataFrame,然后使用 `drop_duplicates()` 方法对 'fruit' 列进行去重,最终得到一个仅包含不重复 'fruit' 列的 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 的不同值的个数)。