pandas 按某列去重
时间: 2023-07-11 09:31:52 浏览: 60
可以使用 drop_duplicates() 方法的 subset 参数来指定按照某一列或多列去重。例如,如果我们要按照 DataFrame 中的列 col1 去重,则可以这样做:
```python
import pandas as pd
# 创建一个包含重复行的 DataFrame
df = pd.DataFrame({
'col1': [1, 2, 2, 3, 3],
'col2': ['a', 'b', 'b', 'c', 'c']
})
# 按照 col1 列去除重复行并打印结果
df = df.drop_duplicates(subset=['col1'])
print(df)
```
这将输出一个去除了按 col1 列重复行的 DataFrame:
```
col1 col2
0 1 a
1 2 b
3 3 c
```
在 subset 参数中,也可以指定多个列,以按多列去重。例如,如果我们要按照 col1 和 col2 两列去重,则可以这样做:
```python
# 按照 col1 和 col2 列去除重复行并打印结果
df = df.drop_duplicates(subset=['col1', 'col2'])
print(df)
```
这将输出一个去除了按 col1 和 col2 列重复行的 DataFrame:
```
col1 col2
0 1 a
1 2 b
3 3 c
```
相关问题
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 中的 groupby 和 nunique 函数来实现该操作。具体来说,假设表格名为 df,某列名为 col,可以使用以下代码实现操作:
df.groupby(['col']).nunique()
这将返回以 col 列为分组依据,统计出每个组内唯一值数量的结果表格。