如何格式化 pandas 日期时间?
How to format pandas datetime?
我有一个 pandas 系列,日期正常,比如 2017-01-01。我试图在 lambda 函数中调用它,但如果我调用 row['date'],它会 returns '2017-01-01T00:00:00.000000000'。使用 strptime 将其转换为日期时间的正确格式是什么?
感谢帮助
数据:
df = pd.DataFrame({'date':['2017-01-01T00:00:00.000000000','2017-01-02T00:00:00.000000000','2017-01-03T00:00:00.000000000']})
您可以使用 pd.to_datetime
转换整列。
>>> pd.to_datetime(df['date'])
0 2017-01-01
1 2017-01-02
2 2017-01-03
Name: date, dtype: datetime64[ns]
>>> df['date'][0]
Timestamp('2017-01-01 00:00:00')
如果你有一个单独的单元格,你也可以使用pd.to_datetime
>>> pd.to_datetime('2017-01-01T00:00:00.000000000')
Timestamp('2017-01-01 00:00:00')
然后 strftime
如果需要:
>>> pd.to_datetime('2017-01-01T00:00:00.000000000').strftime('%Y/%m/%d')
'2017/01/01'
但是使用 pd.Timestamp
转换单个单元格更快:
>>> %timeit pd.Timestamp('2017-01-01T00:00:00.000000000')
2.18 µs ± 8.56 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)
>>> %timeit pd.to_datetime('2017-01-01T00:00:00.000000000')
54 µs ± 560 ns per loop (mean ± std. dev. of 7 runs, 10000 loops each)
我有一个 pandas 系列,日期正常,比如 2017-01-01。我试图在 lambda 函数中调用它,但如果我调用 row['date'],它会 returns '2017-01-01T00:00:00.000000000'。使用 strptime 将其转换为日期时间的正确格式是什么?
感谢帮助
数据:
df = pd.DataFrame({'date':['2017-01-01T00:00:00.000000000','2017-01-02T00:00:00.000000000','2017-01-03T00:00:00.000000000']})
您可以使用 pd.to_datetime
转换整列。
>>> pd.to_datetime(df['date'])
0 2017-01-01
1 2017-01-02
2 2017-01-03
Name: date, dtype: datetime64[ns]
>>> df['date'][0]
Timestamp('2017-01-01 00:00:00')
如果你有一个单独的单元格,你也可以使用pd.to_datetime
>>> pd.to_datetime('2017-01-01T00:00:00.000000000')
Timestamp('2017-01-01 00:00:00')
然后 strftime
如果需要:
>>> pd.to_datetime('2017-01-01T00:00:00.000000000').strftime('%Y/%m/%d')
'2017/01/01'
但是使用 pd.Timestamp
转换单个单元格更快:
>>> %timeit pd.Timestamp('2017-01-01T00:00:00.000000000')
2.18 µs ± 8.56 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)
>>> %timeit pd.to_datetime('2017-01-01T00:00:00.000000000')
54 µs ± 560 ns per loop (mean ± std. dev. of 7 runs, 10000 loops each)