parse_dates参数:
将csv中的时间字符串转换成日期格式
TestTime.csv文件:
"name","time","date"
'Bob',21:33:30,2019-10-10
'Jerry',21:30:15,2019-10-10
'Tom',21:25:30,2019-10-10
'Vince',21:20:10,2019-10-10
'Hank',21:40:15,2019-10-10
import pandas as pd
(1)、
df=pd.read_csv('./TestTime.csv',parse_dates=[['time','date']])
print(df)
"""
指定parse_dates = [ ['time', 'date'] ],即将[ ['time', 'date'] ]两列的字符串先合并后解析方可。合并后的新列会以下划线'_'连接原列名命名
本例中解析后的命名为:time_date,解析得到的日期格式列会作为DataFrame的第一列。
在index_col指定表格中的第几列作为Index时需要小心。如本例中,指定参数index_col=0,
则此时会以新生成的time_date列而不是name作为Index。因此保险的方法是指定列名,如index_col = 'name'
结果:
time_date name
0 2019-10-10 21:33:30 'Bob'
1 2019-10-10 21:30:15 'Jerry'
2 2019-10-10 21:25:30 'Tom'
3 2019-10-10 21:20:10 'Vince'
4 2019-10-10 21:40:15 'Hank'
"""
(2)、
df=pd.read_csv('./TestTime.csv',parse_dates=['time','date'])
print(df)
"""
如果写成了parse_dates=['time', 'date'] ,pd.read_csv()会分别对'time', 'date'进行字符串转日期,此外还会造成一个小小的麻烦。
由于本例中的Time时间列格式为'HH:MM:SS',
parse_dates默认调用dateutil.parser.parse解析为Datetime格式,在解析time这一列时,会自作主张在前面加上一个当前日期。
结果:
name time date
0 'Bob' 2019-10-17 21:33:30 2019-10-10
1 'Jerry' 2019-10-17 21:30:15 2019-10-10
2 'Tom' 2019-10-17 21:25:30 2019-10-10
3 'Vince' 2019-10-17 21:20:10 2019-10-10
4 'Hank' 2019-10-17 21:40:15 2019-10-10
"""
【注】:read_csv()方法指定parse_dates会使得读取csv文件的时间大大增加
(3)、
df=pd.read_csv('./TestTime.csv',parse_dates=[['time','date']],infer_datetime_format=True)
print(df)
"""
infer_datetime_format=True可显著减少read_csv命令日期解析时间
"""
(4)、
df=pd.read_csv('./TestTime.csv',parse_dates=[['time','date']],infer_datetime_format=True,keep_date_col=True)
print(df)
"""
keep_date_col=True/False参数则是用来指定解析为日期格式的列是否保留下来,True保留,False不保留
本例中=True即原解析的列time和date被保留下来
结果:
time_date name time date
0 2019-10-10 21:33:30 'Bob' 21:33:30 2019-10-10
1 2019-10-10 21:30:15 'Jerry' 21:30:15 2019-10-10
2 2019-10-10 21:25:30 'Tom' 21:25:30 2019-10-10
3 2019-10-10 21:20:10 'Vince' 21:20:10 2019-10-10
4 2019-10-10 21:40:15 'Hank' 21:40:15 2019-10-10
"""
pandas读取文件的read_csv()方法的parse_dates参数
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 问题:read_csv()读取csv文件后,dataframe数据表只有一列。 代码: import pandas...
- json文件内容是从豆瓣电影中爬取的用户评论上代码 若json文件中有中文,必须加上encoding参数,赋值'u...
- 转载于https://blog.csdn.net/zm714981790/article/details/5137...