我有一个 Pandas Dataframe,其中一列采用字符串日期格式,如下所示
0 time
1 September 20 2016
2 September 20 2016
3 September 19 2016
4 September 16 2016
Run Code Online (Sandbox Code Playgroud)
将时间替换为 epoch unix 秒的简洁方法是什么?
您可以使用 Series 方法修改列的值,方法是为其提供一个包含要对每个值apply执行的操作的函数。
为了处理日期时间,您可以使用dateutil.parser.parse将任意字符串解析为日期时间对象。
import datetime
import pandas as pd
from dateutil.parser import parse
s = pd.Series(['September 20 2016',
'September 20 2016',
'September 19 2016',
'September 16 2016'])
df = pd.DataFrame(s)
def dt2epoch(value):
d = parse(value)
return d.timestamp()
df[0].apply(dt2epoch) # apples given function to each value of column
Run Code Online (Sandbox Code Playgroud)
结果:
0 1474329600
1 1474329600
2 1474243200
3 1473984000
Name: 0, dtype: float64
Run Code Online (Sandbox Code Playgroud)