gpt4 book ai didi

python - 元素的大小和百分比

转载 作者:行者123 更新时间:2023-11-28 22:18:03 25 4
gpt4 key购买 nike

我正在用 pandas 读取一个 CSV 文件,在读取该文件后我想计算 2 个东西:

  1. 项目数
  2. % 的项目

例如,如果我的数据是 [X,X,Y,Z,Z,X,X,Y,Z,Y] ,我希望我的输出是

X 4 40.0
Y 3 30.0
Z 3 30.0

我尝试了以下但它只输出总和

train = pd.read_csv("./../input/train.csv")
grouped = train.groupby([x ,y]).size()

这只计算百分比:

train = pd.read_csv("./../input/train.csv")
grouped = grouped.groupby(level=[0]).apply(lambda x: x / x.sum())

我怎样才能同时获得两者?

最佳答案

我认为需要将百分比列除以 div sum 的新计数列:

df = pd.DataFrame({'A':list('XXYZZXXYZY')})

df = df.groupby('A').size().reset_index(name='count')
df['%'] = df['count'].div(df['count'].sum()).mul(100)
print (df)
A count %
0 X 4 40.0
1 Y 3 30.0
2 Z 3 30.0

替代解决方案 value_counts :

df = pd.concat([df['A'].value_counts().rename('count'), 
df['A'].value_counts(normalize=True).rename('%').mul(100)], axis=1)

df = df.rename_axis('A').reset_index()
print (df)
A count %
0 X 4 40.0
1 Y 3 30.0
2 Z 3 30.0

关于python - 元素的大小和百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50796930/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com