将Pandas对象转换为多个列

时间:2015-09-19 15:52:08

标签: python csv datetime pandas

我已在CSV文件中导入以下数据:

  • 01/01/2014 00:00:00,50.031
  • 01/01/2014 00:00:01,50.026
  • 01/01/2014 00:00:02,50.019
  • 01/01/2014 00:00:03,50.008

我使用以下方法成功地将第一列中的“对象”转换为日期时间:

df= pd.read_csv("myfile.csv",names=['DateTime','Freq'])
df['DateTime'] = pd.to_datetime(df['DateTime'], coerce=True)

问题是,这是一个非常大的CSV文件(3500万行),它的速度很慢。有没有更有效的方法将第一列转换为datetime?

我还想将日期和时间分成不同的列。

1 个答案:

答案 0 :(得分:0)

read_csvparse_dates为参数。将它传递给csv文件中的日期列的列表。 要从已解析的DateTime列中分割时间,请尝试:

df['Date'] = df.DateTime.apply(lambda d: str(d.date())
df['Time'] = df.DateTime.apply(lambda d: str(d.time())