2 回答
TA贡献1946条经验 获得超3个赞
也许您应该考虑使用熊猫来实现您想要的。
我想以'%d-%b-%y' 格式为结合2 , 3 ,[4] 的每一行创建一个新列
import pandas as pd
df = pd.read_csv(<your_file_name>, header=None)
使用pd.to_datetime函数添加列:
df['date'] = pd.to_datetime(dict(year=df[2], month=df[3], day=df[4]), format='%d-%b-%y')
df
0 1 2 3 4 5 6 date
0 Aintree Red Rum 2017 5 12 11.58 won 2017-05-12
1 Aintree Hurricane Fly 2017 5 12 11.58 won 2017-05-12
2 Aintree Murder 2017 5 12 5.00 lost 2017-05-12
3 Ayr Corbiere 2016 11 3 25.00 lost 2016-11-03
然后,我需要使用这个新列作为关键,以按日期顺序生成投注列表 [5]。
df.sort_values('date', inplace=True)
print(df[[5, 'date']].reset_index(drop=True)) # reset index so that you don't see the mixedup index.
5 date
0 25.00 2016-11-03
1 11.58 2017-05-12
2 11.58 2017-05-12
3 5.00 2017-05-12
您可以使用df.to_csv()方法将其保存到 csv 。
TA贡献1831条经验 获得超10个赞
使用熊猫。添加名为“日期”的新列并按新列对数据进行排序。
import pandas as pd
df = pd.read_csv('55611308.csv', sep=',', names=['name0', 'name1', 'y', 'm', 'd', 'h', 'result'], header=None)
df['date'] = df['y'].astype(str).str.cat(df['m'].astype(str), sep='-').str.cat(df['d'].astype(str), sep='-')
df.sort_values('date',inplace=True)
print(df)
添加回答
举报