根据年月计算行数,并从最旧到最新排序
Count rows based on year-month and sort it from oldest to newest
我有一个这样的 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
这里是sort_values,ascending=True
表示从低到高,False
表示从高到低
df.sort_values(by='daate',ascending=True)
我有一个这样的 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
这里是sort_values,ascending=True
表示从低到高,False
表示从高到低
df.sort_values(by='daate',ascending=True)