Python 我试着和熊猫按日期分类,但不起作用,总是读字符串

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

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,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)