У меня есть гора CSV, где столбец дата является следующее:Быстрый способ преобразования столбец DATETIME в панд
Print df
Date
0 20090501 00:00:00.831
1 20090501 00:00:00.832
2 20090501 00:00:01.078
3 20090501 00:00:01.337
4 20090501 00:00:01.580
5 20090501 00:00:01.581
6 20090501 00:00:01.582
7 20090501 00:00:01.602
Отсюда я хочу выразить его в формате '%Y%m%d %H:%M:%S.%f'
, следовательно:
df['Date'] = pd.to_datetime(df['Date'], format='%Y%m%d %H:%M:%S.%f')
print df
Date
2009-05-01 00:00:00.831
1 2009-05-01 00:00:00.832
2 2009-05-01 00:00:01.078
3 2009-05-01 00:00:01.337
4 2009-05-01 00:00:01.580
5 2009-05-01 00:00:01.581
и, наконец, оттуда, разделить его на отдельные даты и времени колонок с помощью следующей:
df['Time'] = df['Date'].apply(lambda x:x.time())
df['Date1']= df['Date'].apply(lambda x:x.date())
print df
Time Date1
0 00:00:00.831000 2009-05-01
1 00:00:00.832000 2009-05-01
2 00:00:01.078000 2009-05-01
3 00:00:01.337000 2009-05-01
4 00:00:01.580000 2009-05-01
5 00:00:01.581000 2009-05-01
6 00:00:01.582000 2009-05-01
Проблема заключается в том, что функции лямбда занимают около одной минуты, чтобы закончить, и у меня есть что-то в диапазоне 30000 CSV для обработки каждого из них примерно двумя миллионами строк. Если кто-то может дать мне более быстрое решение, это очень поможет.
Благодаря
бритая около 15 секунд прочь, совсем не плохо. – ajsp
Super;) Эти функции векторизованы, так быстрее, как 'apply'. – jezrael