[英]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.