如何解析Pandas中的多个日期列?

时间:2015-12-01 02:06:33

标签: python-2.7 pandas dataframe

我在.csv文件中有一个字段/列,我正在加载到Pandas中,它不会在Pandas中解析为日期时间数据类型。我真的不明白为什么。我希望在Pandas DataFrame中将FirstTime和SecondTime解析为datetime64。

# Assigning a header for our data
header = ['FirstTime', 'Col1', 'Col2', 'Col3', 'SecondTime', 'Col4',
          'Col5', 'Col6', 'Col7', 'Col8']

# Loading our data into a dataframe
df = pd.read_csv('MyData.csv', names=header, parse_dates=['FirstTime', 'SecondTime'])

上面的代码只会将SecondTime解析为datetime64 [ns]。 FirstTime保留为Object数据类型。如果我改为使用以下代码:

# Assigning a header for our data
header = ['FirstTime', 'Col1', 'Col2', 'Col3', 'SecondTime', 'Col4',
          'Col5', 'Col6', 'Col7', 'Col8']

# Loading our data into a dataframe
df = pd.read_csv('MyData.csv', names=header, parse_dates=['FirstTime'])

它仍然不会将FirstTime解析为datetime64 [ns]。

两列的格式相同:

# Example FirstTime 
# (%f is always .000)
2015-11-05 16:52:37.000

# Example SecondTime
# (%f is always .000)
2015-11-04 15:33:15.000

我在这里缺少什么?第一列默认情况下不能是日期时间还是Pandas中的某些内容?

2 个答案:

答案 0 :(得分:0)

您尝试过

df = pd.read_csv('MyData.csv', names=header, parse_dates=True)

答案 1 :(得分:0)

我有一个类似的问题,结果是我的一个日期变量中有一个整数单元格。因此,python将其识别为“对象”,而另一个将其识别为“ int64”。您需要确保两个变量都是整数。 您可以使用df.dtypes查看商品的格式。