如何从熊猫中读取日期时间

时间:2015-12-09 00:34:24

标签: python pandas

我将字符串转换为日期并保存CSV:

df['date'] = pd.to_datetime(df['date'])
df.to_csv('dates.csv')

但是当我尝试读取CSV时,它会将列作为str:

df = pd.read_csv('dates.csv')
type(df['date'].iloc[0])
<type 'str'>

如何将其保存为日期时间并将其读作日期时间?

1 个答案:

答案 0 :(得分:1)

parse_dates中有read_csv参数。

  

parse_dates:boolean,int或名称列表,列表列表或dict       如果为True - >尝试解析索引。       如果[1,2,3] - >尝试将第1,2,3列分别解析为单独的日期列。       如果[[1,3]] - >将第1列和第3列组合在一起并解析为单个日期列。       {'foo':[1,3]} - &gt;将列1,3解析为日期并调用结果'foo'       iso8601格式的日期存在快速路径。

所以:

df = pd.read_csv(filename, parse_dates=['date_col_1', 'date_col2', etc...])

一个具体的例子:

df = pd.DataFrame({'date': ['2015-1-1', '2015-2-1', '2015-3-1']})
df['date'] = pd.to_datetime(df['date'])
df.to_csv('dates.csv')

df2 = pd.read_csv('dates.csv')

>>> type(df2['date'].iloc[0])
str

df2 = pd.read_csv('dates.csv', parse_dates=['date'])

>>> type(df2['date'].iloc[0])
pandas.tslib.Timestamp
相关问题