pandas groupby 去重汇总
时间: 2023-11-09 13:57:34 浏览: 51
pandas中的groupby方法可以用于进行分组并进行汇总计算。对于去重汇总,可以使用groupby方法的agg函数来实现。首先,使用groupby方法对需要分组的列进行分组,然后使用agg函数对每个分组进行去重汇总。下面是一个示例代码:
```
import pandas as pd
# 创建示例数据
df = pd.DataFrame({'X': ['A', 'B', 'A', 'B'], 'Y': [1, 4, 3, 2]})
# 使用groupby和agg进行去重汇总
result = df.groupby('X').agg({'Y': 'nunique'})
# 输出结果
print(result)
```
上述代码中,我们将列'X'作为分组依据,然后对每个分组中的列'Y'进行去重汇总,使用的汇总函数是nunique,它可以计算每个分组中唯一值的数量。最后,我们输出了去重汇总的结果。
相关问题
pandas groupby 去重计数
你可以使用 `groupby` 和 `nunique` 方法来对 Pandas DataFrame 进行分组后的去重计数。这里的 `groupby` 方法用于按照指定的列对数据进行分组,而 `nunique` 方法用于计算每个组中独特值的数量。
下面是一个示例代码:
```python
import pandas as pd
# 创建示例 DataFrame
data = {'A': ['foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'foo'],
'B': ['one', 'one', 'two', 'two', 'two', 'one', 'two', 'one']}
df = pd.DataFrame(data)
# 使用 groupby 和 nunique 进行分组去重计数
count = df.groupby('A')['B'].nunique()
print(count)
```
输出结果将是每个组中唯一值的数量:
```
A
bar 2
foo 2
Name: B, dtype: int64
```
这表示在列 'A' 中,'bar' 组有两个不同的唯一值,'foo' 组也有两个不同的唯一值。
pandas 拼接并去重
要将两个 pandas DataFrame 拼接并去重,可以使用 `pandas.concat()` 函数进行拼接,然后使用 `drop_duplicates()` 函数去重。
以行方向进行拼接并去重的示例代码如下:
```python
import pandas as pd
# 创建两个示例 DataFrame
df1 = pd.DataFrame({'A': [1, 2, 3], 'B': ['a', 'b', 'c']})
df2 = pd.DataFrame({'A': [3, 4, 5], 'B': ['c', 'd', 'e']})
# 拼接并去重
df = pd.concat([df1, df2]).drop_duplicates()
print(df)
```
输出结果为:
```
A B
0 1 a
1 2 b
2 3 c
1 4 d
2 5 e
```
其中,`pd.concat()` 函数将两个 DataFrame 进行拼接,`drop_duplicates()` 函数去除重复行。注意,拼接后的新 DataFrame 的索引是连续的,需要使用 `reset_index()` 函数重新生成索引。如果需要按照某一列进行去重,可以使用 `drop_duplicates()` 函数的 `subset` 参数指定去重列。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)