Bri*_*ian 5 python sorting pandas
以下代码段将 sample_data.csv 读入 DataFrame 并按观察时间排序。排序例程没有正确排序日期/时间。
df = pd.read_csv('C:/data/sample_data.csv')
df = df.sort(['observation_time'])
df.to_csv('C:/data/outfile.csv')
Run Code Online (Sandbox Code Playgroud)
[从 Anaconda 32 位窗口使用 Pandas 0.12]
输入:sample_data.csv:
latitude longitude vessel_name observation_time
1.031000018 -79.68883514 aqasi 12/28/2012 10:40
1.032833338 -79.71916199 aqasi 12/29/2012 14:06
1.486500025 -80.1906662 aqasi 12/31/2012 4:41
1.466999888 -80.16249847 aqasi 12/31/2012 4:30
2.342833519 -81.46682739 aqasi 12/31/2012 13:40
2.360000134 -81.4936676 aqasi 12/31/2012 13:51
3.816000223 -83.68183899 aqasi 1/1/2013 5:20
3.730499983 -83.55400085 aqasi 1/1/2013 4:24
3.714666843 -83.53016663 aqasi 1/1/2013 4:14
4.986999989 -85.45566559 aqasi 1/1/2013 19:04
6.884333134 -88.21949768 aqasi 1/2/2013 13:11
6.885833263 -88.22200012 aqasi 1/2/2013 13:12
6.886833191 -88.22383881 aqasi 1/2/2013 13:12
6.887333393 -88.22450256 aqasi 1/2/2013 13:13
6.889333248 -88.22800446 aqasi 1/2/2013 13:14
Run Code Online (Sandbox Code Playgroud)
输出:outfile.csv:
latitude longitude vessel_name observation_time
9 4.986999989 -85.45566559 aqasi 1/1/2013 19:04
8 3.714666843 -83.53016663 aqasi 1/1/2013 4:14
7 3.730499983 -83.55400085 aqasi 1/1/2013 4:24
6 3.816000223 -83.68183899 aqasi 1/1/2013 5:20
10 6.884333134 -88.21949768 aqasi 1/2/2013 13:11
12 6.886833191 -88.22383881 aqasi 1/2/2013 13:12
11 6.885833263 -88.22200012 aqasi 1/2/2013 13:12
13 6.887333393 -88.22450256 aqasi 1/2/2013 13:13
14 6.889333248 -88.22800446 aqasi 1/2/2013 13:14
0 1.031000018 -79.68883514 aqasi 12/28/2012 10:40
1 1.032833338 -79.71916199 aqasi 12/29/2012 14:06
4 2.342833519 -81.46682739 aqasi 12/31/2012 13:40
5 2.360000134 -81.4936676 aqasi 12/31/2012 13:51
3 1.466999888 -80.16249847 aqasi 12/31/2012 4:30
2 1.486500025 -80.1906662 aqasi 12/31/2012 4:41
Run Code Online (Sandbox Code Playgroud)
“错误”排序的原因是该observation_time列是string类型列,因此实际上它被正确排序为string。
在排序之前将其转换为datetime类型将产生所需的结果:
df['observation_time'] = pd.to_datetime(df['observation_time'])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4534 次 |
| 最近记录: |