Я хочу применить настраиваемую функцию к столбцу фрейма даты dask. Вот пример: «
import dask.dataframe as dd
from datetime import datetime
import pandas as pd
df = pd.DataFrame({'x': ['2020-01-01 15:00:00', '2020-01-01 16:00:00', '2020-01-01 17:00:00']})
ddf = dd.from_pandas(df, npartitions=2)
ddf.head()
x
0 2020-01-01 15:00:00
1 2020-01-01 16:00:00
2 2020-01-01 17:00:00
def convert_date(timestr):
return datetime.strptime(timestr, "%Y-%m-%d %H:%M:%S").timestamp()
ddf['y'] = ddf.x.apply(lambda x: convert_date(x), meta=('x', 'f8')).compute()
ddf.head()
x y
0 2020-01-01 15:00:00 1.577920e+09
1 2020-01-01 16:00:00 1.577923e+09
2 2020-01-01 17:00:00 1.577927e+09
Но если я вызываю функцию convert_date напрямую, например, для 2020-01-01 15:00:00
, я получаю другую метку времени.
print(convert_date("2020-01-01 15:00:00"))
1577919600.0