如何解决给定特定邮政编码的值列表 (SCORE) 的平均值、中位数和众数
我想找到给定特定邮政编码的每年的均值、中值和众数值,我该如何实现,我已经从 CSV 文件中读取数据并将其转换为 json 文件并将其定义为 DataFrame 我的数据样本不限于下表是更大的
解决方法
您可以使用 groupby 按日期和邮政编码对数据进行分组,然后使用 .agg 函数对其应用平均值、中位数和众数。代码如下
groupedData = df.groupby(["DATE","Zip codes"]).agg({"Score" : ["mean","median","mode"]
,
使用SciPy.mstats
:
In [2295]: df.DATE = pd.to_datetime(df.DATE).dt.year
In [2291]: import scipy.stats.mstats as mstats
In [2313]: def mode(x):
...: return mstats.mode(x,axis=None)[0]
...:
In [2314]: df.groupby(['DATE','ZipCodes']).agg(["mean",mode])
Out[2314]:
SCORE
mean median mode
DATE ZipCodes
2017 44 88.0 88.0 88
55 90.0 90.0 90
66 92.5 92.5 90
77 96.0 96.0 96
2018 33 90.0 90.0 90
55 92.0 92.0 92
66 97.0 97.0 97
2019 55 96.0 96.0 96
77 90.0 90.0 90
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。