[英]Pandas: How to sort dataframe rows by date of one column
试着详细说明可以做什么:初始化/合并数据帧并将列转换为datetime类型
df= pd.DataFrame({'people':[1,2,0],'date': ['6/8/2015','7/10/2018','6/5/2015',]})
df.date=pd.to_datetime(df.date,format="%m/%d/%Y")
print(df)
输出:
date people
0 2015-06-08 1
1 2018-07-10 2
2 2015-06-05 0
按日期排序
df=df.sort_values('date')
print(df)
输出:
date people
2 2015-06-05 0
0 2015-06-08 1
1 2018-07-10 2
再次维护格式:
df['date']=df['date'].dt.strftime('%m/%d/%Y')
print(df)
输出:
date people
2 06/05/2015 0
0 06/08/2015 1
1 07/10/2018 2
尝试将“日期”列更改为pandas Datetime,然后排序
import pandas as pd
df= pd.DataFrame({'people':[1,1,1,2],'date':
['4/12/1961','5/5/1961','7/21/1961','8/6/1961']})
df['date'] =pd.to_datetime(df.date)
df.sort_values(by='date')
输出:
date people
1961-04-12 1
1961-05-05 1
1961-07-21 1
1961-08-06 2
要获取初始格式:
df['date']=df['date'].dt.strftime('%m/%d/%y')
输出:
date people
04/12/61 1
05/05/61 1
07/21/61 1
08/06/61 2
不知道你想要什么得到,但如果你只是想谁属于一个人 约会,只是简单地使用groupby
。
df = df.groupby('date').sum()
或者不同的组合
df = df.groupby('date').agg(lambda col: col.tolist()).reset_index()
然后你可以根据需要对其进行排序。 也许这将是你想要的按日期排序Pandas Dataframe
为什么不简单?
dataset[SortBy["date"]]
你可以提供你尝试过的东西或你的结构如何?
如果您需要按相反顺序排序,请执行以下操作:
dataset[SortBy["date"]][Reverse]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.