Python 3.x 如何按日期时间对数据帧进行排序
我有一个.csv文件,正在读取到熊猫数据框中。.csv文件具有以下格式Python 3.x 如何按日期时间对数据帧进行排序,python-3.x,pandas,sorting,Python 3.x,Pandas,Sorting,我有一个.csv文件,正在读取到熊猫数据框中。.csv文件具有以下格式 Date,Expense 03/05/2015,75.0 01/01/2015,45.0 01/02/2015,245.0 01/02/2015,1280.0 01/02/2015,75.0 01/05/2015,55.0 01/03/2015,287.0 01/07/2015,3185.0 01/07/2015,981.0 01/07/2015,342.0 01/02/2015,64.8 我正在用以下代码读取文件: im
Date,Expense
03/05/2015,75.0
01/01/2015,45.0
01/02/2015,245.0
01/02/2015,1280.0
01/02/2015,75.0
01/05/2015,55.0
01/03/2015,287.0
01/07/2015,3185.0
01/07/2015,981.0
01/07/2015,342.0
01/02/2015,64.8
我正在用以下代码读取文件:
import pandas as pd
df = pd.read_csv(text_file.csv, sep=',', dtype={'Date': str, 'Expense': float})
然后,我通过将df['Date']
转换为日期时间对象
df['Date'] = pd.to_datetime(df.Date)
df.sort_values(by='Date')
print(df['Date'])
当我打印新排序的数据时,很明显,这些值已转换为日期时间对象,但它们没有排序。如何让熊猫按时间顺序排列日期
0 2015-03-05
1 2015-01-01
2 2015-01-02
3 2015-01-02
4 2015-01-02
5 2015-01-05
6 2015-01-03
7 2015-01-07
8 2015-01-07
9 2015-01-07
10 2015-01-02
Name: Date, type: datetime64[ns]
重新分配回df或使用
inplace=true
参数:
df = df.sort_values(by='Date')
或
输出:
1 2015-01-01
2 2015-01-02
3 2015-01-02
4 2015-01-02
10 2015-01-02
6 2015-01-03
5 2015-01-05
7 2015-01-07
8 2015-01-07
9 2015-01-07
0 2015-03-05
Name: Date, dtype: datetime64[ns]
您需要重新分配回df<代码>排序\u值不是就地操作。
1 2015-01-01
2 2015-01-02
3 2015-01-02
4 2015-01-02
10 2015-01-02
6 2015-01-03
5 2015-01-05
7 2015-01-07
8 2015-01-07
9 2015-01-07
0 2015-03-05
Name: Date, dtype: datetime64[ns]