dataframe一列去重
时间: 2023-05-23 22:03:50 浏览: 80
可以使用pandas库中的drop_duplicates()方法来实现dataframe一列去重,具体代码如下所示:
df.drop_duplicates(subset='列名', inplace=True)
其中,subset参数为要去重的列名,inplace参数为True表示直接在原dataframe上修改,False表示不修改原dataframe。
相关问题
dataframe一列去重计数
可以使用pandas库中的value_counts()方法对一个DataFrame的某一列进行去重计数。例如,假设我们有如下的DataFrame:
```
import pandas as pd
df = pd.DataFrame({
'id': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
'name': ['Tom', 'Jerry', 'Mike', 'Tom', 'Lucy', 'Jerry', 'Lucy', 'John', 'Tom', 'Jerry'],
'age': [23, 25, 27, 22, 24, 26, 28, 30, 32, 29]
})
```
我们想要对name这一列进行去重计数,可以使用以下代码:
```
name_counts = df['name'].value_counts()
print(name_counts)
```
输出结果为:
```
Jerry 3
Tom 3
Lucy 2
Mike 1
John 1
Name: name, dtype: int64
```
其中,每个值的计数都显示在它对应的索引位置上。例如,Jerry出现了3次,因此它的计数是3。
dataframe列去重
可以使用 pandas 库中的 drop_duplicates() 方法进行去重。该方法会返回一个新的数据帧,其中包含原始数据帧中去重后的数据。
drop_duplicates() 方法可以接受多个参数来指定在哪些列上进行去重,以及如何处理重复值。其中最常用的参数是 subset 和 keep。
- subset:指定需要去重的列名,可以是一个字符串或一个列表。
- keep:指定保留哪个重复值,可以是 'first'(保留第一个出现的值)、'last'(保留最后一个出现的值)或 False(全部删除)。
以下是一个示例:
```python
import pandas as pd
# 创建一个包含重复值的数据帧
df = pd.DataFrame({'key1': ['A', 'B', 'A', 'C', 'B'],
'key2': ['X', 'Y', 'Y', 'Z', 'X'],
'value': [1, 2, 3, 4, 5]})
# 对 key1 和 key2 列进行去重,并保留第一个出现的值
df2 = df.drop_duplicates(subset=['key1', 'key2'], keep='first')
print(df2)
```
输出结果如下:
```
key1 key2 value
0 A X 1
1 B Y 2
3 C Z 4
4 B X 5
```
可以看到,重复的行已经被删除了,保留了第一个出现的值。