elP*_*tor 2 python sorting pandas
采用这个简单的数据框:
df = pd.DataFrame({
'date':['1/15/2017', '2/15/2017','10/15/2016', '3/15/2017'],
'int':[2,3,1,4]
})
Run Code Online (Sandbox Code Playgroud)
我想按日期对其进行排序,然后将其保存到 CSV,而不必:
pd.to_datetime(df['date']).sort_values('date').strftime('%-m/%-d/%Y')相反,做这样的事情(当然,这是行不通的):
df.apply(pd.to_dataframe(df['date']).sort_values(by = 'date', inplace = True)
Run Code Online (Sandbox Code Playgroud)
输出:
date kw
2 10/15/2016 1
0 1/15/2017 2
1 2/15/2017 3
3 3/15/2017 4
Run Code Online (Sandbox Code Playgroud)
这可能吗,还是我应该坚持三步流程?
numpy'sargsort返回对数组进行排序所需的排列。我们可以利用这一点,使用iloc. 因此,通过使用转换日期pd.to_datetime,然后抓取值并调用,argsort我们已经完成了对原始数据帧进行排序所需的所有操作,而无需更改其任何列。
df.iloc[pd.to_datetime(df.date).values.argsort()]
date int
2 10/15/2016 1
0 1/15/2017 2
1 2/15/2017 3
3 3/15/2017 4
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3033 次 |
| 最近记录: |