Pandas 数据帧过滤并计算聚合结果
Pandas Dataframe filtering and count on the result of an aggregation
我尝试过滤并计算聚合结果:
import pandas as pd
df = pd.DataFrame([[2],[3],[2]],columns=['A'])
print(df)
A
0 2
1 3
2 2
dfCount = df.groupby(['A']).agg({'A':['count']}).reset_index(drop=True)
print(dfCount)
count
A
2 2
3 1
result = dfCount.where(dfCount.count == 1).count()
我只想要原始数据集中只有一次的表达式的数量。
在这种情况下,我希望结果为 1.
但是我收到以下错误:
ValueError: Array conditional must be same shape as self
那么你应该使用value_counts
df.A.value_counts().eq(1).sum()
Out[416]: 1
我尝试过滤并计算聚合结果:
import pandas as pd
df = pd.DataFrame([[2],[3],[2]],columns=['A'])
print(df)
A
0 2
1 3
2 2
dfCount = df.groupby(['A']).agg({'A':['count']}).reset_index(drop=True)
print(dfCount)
count
A
2 2
3 1
result = dfCount.where(dfCount.count == 1).count()
我只想要原始数据集中只有一次的表达式的数量。 在这种情况下,我希望结果为 1.
但是我收到以下错误:
ValueError: Array conditional must be same shape as self
那么你应该使用value_counts
df.A.value_counts().eq(1).sum()
Out[416]: 1