pandas Dataframe 列中单个值的频率

epfja78i  于 2023-03-06  发布在  其他
关注(0)|答案(2)|浏览(123)

设数据集的一列为

ITEM
2
10
-200
3
6
-200
-200

我只想得到列中出现-200的次数和百分比,例如,在给定的数据集中,我们有7行,其中3行有-200,则结果应为42.8%
我试过了

df['ITEM'].value_counts()

其中df是 Dataframe ,我希望结果为-200 42.8%

pcww981p

pcww981p1#

您可以将Series.value_countsnormalize=True一起尝试,然后选择-200

out = (df['ITEM'].value_counts(normalize=True)
       .mul(100).round(1).astype(str).add('%')
       [[-200]])
$ print(out)

-200    42.9%
Name: ITEM, dtype: object
qzwqbdag

qzwqbdag2#

import pandas as pd
df = pd.DataFrame(data={'a':[2,10,-200,3,6,-200,-200]})

print(df["a"].value_counts(normalize=True) * 100)
# -200    42.857143
#  2      14.285714
#  10     14.285714
#  3      14.285714
#  6      14.285714

相关问题