如何在pandas读取JSON统计值时保持日期升序并设置count列
解决方案
原代码中value_counts()默认按统计频次降序排列,且返回结果为Series类型,因此会出现排序不符合要求、结构不对的问题,可使用以下两种方案解决:
方案1:使用groupby直接统计(推荐)
import pandas as pd # 读入行式JSON文件 df = pd.read_json('filename.json', lines=True) # 按日期分组统计,默认按日期升序,直接生成规范双列DataFrame result = df.groupby('date', as_index=False).size().rename(columns={'size': 'count'})
方案2:基于原有value_counts逻辑调整
import pandas as pd df = pd.read_json('filename.json', lines=True) # 先统计频次,再按日期索引升序,最后调整为双列DataFrame并修改列名 result = df['date'].value_counts().sort_index().reset_index(name='count')
额外说明
如果你的日期存在非标准格式,可先将date列转为日期类型再统计,保证排序准确性:
df['date'] = pd.to_datetime(df['date']).dt.date
最终得到的result就是日期升序、列名为date和count的标准双列DataFrame。
内容的提问来源于stack exchange,提问作者user16133525
相关产品推荐
相关产品推荐

