Python 具有自动日期解析功能的dicts数据帧
我正在从dicts序列创建一个Pandas数据帧。 这些词典很大,而且有点异构。 有些字段是日期 我想自动检测和解析日期字段。 这可以通过以下方式实现:Python 具有自动日期解析功能的dicts数据帧,python,pandas,date,dataframe,Python,Pandas,Date,Dataframe,我正在从dicts序列创建一个Pandas数据帧。 这些词典很大,而且有点异构。 有些字段是日期 我想自动检测和解析日期字段。 这可以通过以下方式实现: df0 = pd.Dataframe.from_dict(dicts) df0.to_csv('tmp.csv', index=False) df = pd.read_csv('tmp.csv', parse_dates=True) 我想找到一种更直接的方法来实现这一点。使用pd.to\u datetime和errors='ignore'
df0 = pd.Dataframe.from_dict(dicts)
df0.to_csv('tmp.csv', index=False)
df = pd.read_csv('tmp.csv', parse_dates=True)
我想找到一种更直接的方法来实现这一点。使用pd.to\u datetime
和errors='ignore'
- 仅在
的列上使用dtype==object
。这可以防止将数字列转换为无意义的日期select\u dtypes
如果遇到任何错误,将放弃转换尝试“忽略”
- 使用
代替combine\u first
,因为update
保留初始update
。既然他们是目标,这会把事情搞砸的dtypes
使用
assign
处理dtypes
df.assign(**df.select_dtypes(include=object).apply(pd.to_datetime, errors='ignore'))
安装程序
@皮尔斯:当然可以,拜托!应该把它当作你的。大部分都是相同的组件(:哦,好吧,我想我们会活下来的。@piRSquared aha不用担心,先生:-),因为
select\u dtypes
是使它工作的关键:-)
df.assign(**df.select_dtypes(include=object).apply(pd.to_datetime, errors='ignore'))
dicts = [
{'date0': '2019-01-01'},
{'feuxdate': 0},
{'notadate': 'hi'},
{'date1': '20190201'}
]
df = pd.DataFrame.from_dict(dicts)