python - 根据年月计算行数并从最旧到最新排序
问题描述
我有一个这样的df:
data = {'date':['2019-01-01', '2019-01-02', '2020-01-01', '2020-02-02'],
'tweets':["aaa", "bbb", "ccc", "ddd"]}
df = pandas.DataFrame(data)
df['daate'] = pandas.to_datetime(df['date'], infer_datetime_format=True)
所以我有一个object
类型日期和一个datetime64[ns]
类型日期。我想知道每年每个月的行数,比如 2019-01 的两行,2020-01 和 2020-02 的一行。我还想根据日期对数据进行排序,从最旧到最新。谢谢各位!
解决方案
您可以使用 groupby 来计算行数
df['year-month'] = df['daate'].dt.strftime('%Y-%m')
df.groupby('year-month').count()
date tweets daate
year-month
2019-01 2 2 2
2020-01 1 1 1
2020-02 1 1 1
这里是如何排序_values,ascending=True
从最低到最高的False
意思,从最高到最低的意思
df.sort_values(by='daate',ascending=True)
推荐阅读
- ios - 调用 invalidateLayout() 或 reloadData() 以在设备旋转后重新加载从情节提要创建的 UICollectionView
- haskell - 通过过滤每两个数字的序列,使用推导在 Haskell 中生成一个列表
- c# - C# 删除 flowLayoutPanel 中动态创建的控件
- c# - 删除后如何从选定行datagridview中删除记录并更新数据库?
- aws-lambda - 如何使用 lambda-maven-plugin 将函数上传到 AWS Lambda?
- python - 替换文件中的特殊字符串而不删除其他内容
- javascript - 在 javascript 中释放未使用的共享对象的最佳方法是什么?
- python - 在 python 中,如何订购带有 unicode 内容的字典?
- java - java - 如何在java swing中使用vlcj放置视频?
- reactjs - 从非导入的 src 播放音频