我目前正在使用pandas daraframe。现在我想要计算每个y的所有值x。例如:对于我所拥有的每个州,我都要计算城市数量。
我试过这样的事情,但我知道这不是正确的语法,但我不知道如何正确地做到这一点:
df['sumCity'] = df[['STATE'].unique()df['CITY']].count()
谁能告诉我该怎么做?
答案 0 :(得分:3)
尝试:
df['sumCity'] = df.groupby('STATE').CITY.transform('nunique')
答案 1 :(得分:1)
我认为您想要groupby
。像这样:
group = df.groupby('STATE')['CITY'].count()
然后使用字典将此结果映射到新列:
df['sumCity'] = df['STATE'].map(dict(group))
答案 2 :(得分:0)
我不确定你的y,但你可以将你的y转换为类系列,并使用如下的class value_counts():
pandas.Series(y).value_counts()