Python 我试着和熊猫按日期分类,但不起作用,总是读字符串
CSV文件启动Python 我试着和熊猫按日期分类,但不起作用,总是读字符串,python,pandas,Python,Pandas,CSV文件启动 26/05/19,Atalanta-Sassuolo,3 - 1 26/05/19,Cagliari-Udinese,1 - 2 26/05/19,Fiorentina-Genoa,0 - 0 26/05/19,Inter-Empoli,2 - 1 26/05/19,Roma-Parma,2 - 1 26/05/19,Spal-Milan,2 - 3 26/05/19,Sampdoria-Juventus,2 - 0
26/05/19,Atalanta-Sassuolo,3 - 1
26/05/19,Cagliari-Udinese,1 - 2
26/05/19,Fiorentina-Genoa,0 - 0
26/05/19,Inter-Empoli,2 - 1
26/05/19,Roma-Parma,2 - 1
26/05/19,Spal-Milan,2 - 3
26/05/19,Sampdoria-Juventus,2 - 0
26/05/19,Torino-Lazio,3 - 1
25/05/19,Bologna-Napoli,3 - 2
25/05/19,Frosinone-Chievo,0 - 0
20/05/19,Lazio-Bologna,3 - 3
它读取日期字符串,但我找不到正确的命令来解析日期,这应该很容易,但不是您的日期中似乎有空格。尝试:
df = pd.read_csv(filename, names=['date','games','result'])
df = df.sort_values(by='date', ascending=True)
print(df)
output
date games result
129 01/03/19 Cagliari-Inter 2 - 1
358 01/09/18 Bologna-Inter 0 - 3
...
90 31/03/19 Inter-Lazio 0 - 1
359 31/08/18 Milan-Roma 2 - 1
379 31/10/18 Milan-Genoa 2 - 1
试试看pd.read\u csv(文件名,名称=['date','games','result'],解析日期=['date'],dayfirst=True)输出的开始仍然是错误的:158 2018-02-08切沃罗马0-3156 2018-02-09帕尔马国际0-1157 2018-02-09佛罗伦萨那不勒斯0-0第一个应该在2018/08/18日期,我需要确定要做的是你试图阅读的实际csv文件的一个示例。否则,我们只是在猜测和浪费时间。CSV文件26/05/19的开始,亚特兰大萨苏奥洛,3-1\n 26/05/19,卡利亚里乌迪内斯,1-2 26/05/19,佛罗伦萨热那亚,0-0 26/05/19,国际恩波利,2-1 26/05/19,罗马帕尔马,2-1 26/05/19,西班牙米兰,2-3 26/05/19,桑普多利亚尤文图斯,2-0 26/05/19,都灵拉齐奥,3-1 25/05/19,那不勒斯博洛尼亚,3-225/05/19,切沃,0-020/05/19,拉齐奥博洛尼亚,3-3你的帖子。我们在评论中看不到。仍然错误的日期比赛结果357 2018-01-09帕尔玛尤文图斯1-2358 2018-01-09博洛尼亚国际米兰0-3310 2018-01-10桑普多利亚队2-1249 2018-01-12西班牙恩波利2-2248 2018-01-12佛罗伦萨尤文图斯0-3.. ... ... ... 72 2019-07-04国际亚特兰大0-0 73 2019-07-04拉齐奥·萨苏奥洛2-2 75 2019-07-04乌迪内斯恩波利3-2 76 2019-07-04佛罗伦萨弗罗西诺内0-1 74 2019-07-04卡利亚里Spal 2-1尝试更新版本,我明确指定了格式。仍然不起作用,我把CSV文件的开头放在帖子里,我已经加载了你的
.CSV
,编辑的asnwer工作得很好。
df = pd.read_csv(filename, names=['date','games','result'])
df['date'] = df.date.str.strip()
df['date'] = pd.to_datetime(df['date'], format='%d/%m/%y')
df = df.sort_values(by='date', ascending=True)