Python 3.x 解析作为数据系列的索引

Python 3.x 解析作为数据系列的索引,python-3.x,pandas,strftime,Python 3.x,Pandas,Strftime,我需要一些帮助。我在熊猫数据框中有一个索引,该列称为“日期设备值”(如下) 我想把这个索引分成不同的列,这样我就有了一个日期列(索引),一个表示星期几的列和一个表示时间的列 我尝试对strftime使用不同的方法来解析时间,但它不起作用 这是一个csv,我已经将其转换为日期列作为索引 谢谢你的帮助 DateDeviceValue 11/27/15 17:54 On/Off Chaudière_logement 4.0 4.0 536448.0

我需要一些帮助。我在熊猫数据框中有一个索引,该列称为“日期设备值”(如下)

我想把这个索引分成不同的列,这样我就有了一个日期列(索引),一个表示星期几的列和一个表示时间的列

我尝试对strftime使用不同的方法来解析时间,但它不起作用

这是一个csv,我已经将其转换为日期列作为索引

谢谢你的帮助

DateDeviceValue                     
11/27/15 17:54  On/Off  Chaudière_logement  4.0 4.0 536448.0    On
11/27/15 17:54  On/Off  Chaudière_logement  4.0 4.0 536449.0    Off
11/27/15 17:54  On/Off  Chaudière_logement  4.0 4.0 536450.0    On
11/27/15 17:54  On/Off  Chaudière_logement  4.0 4.0 536451.0    Off

从索引创建一个新列,将其转换为日期时间,它可能会自动推断,但我更喜欢精确地指定格式。(检查我的格式字符串是否正确)

DateDeviceValue是datetime索引吗?这些值是相同的吗

如果是,试试这个

df['Time'],df['Date']= df.index.apply(lambda x:x.time()), df.index.apply(lambda x:x.date())
否则试试这个

df['Time'],df['Date']= df['dt_col'].apply(lambda x:x.time()), df['dt_col'].apply(lambda x:x.date())

从索引创建一个新列,将其转换为日期时间,它可能会自动推断,但我更喜欢精确地指定格式。(检查我的格式字符串是否正确)

DateDeviceValue是datetime索引吗?这些值是相同的吗

如果是,试试这个

df['Time'],df['Date']= df.index.apply(lambda x:x.time()), df.index.apply(lambda x:x.date())
否则试试这个

df['Time'],df['Date']= df['dt_col'].apply(lambda x:x.time()), df['dt_col'].apply(lambda x:x.date())

@Kickaha回答了同样的问题,我想补充更多关于如何开始的问题

确保在读取csv文件时解析了列DateDeviceValue

通过分析DateDeviceValue列中的日期和时间来创建两个新列,如果您不再需要,请将其删除。正如您所说,您希望日期作为索引,请将其设置为索引

df['TIME'] = df['DateDeviceValue'].apply(lambda x: x.time())
df['DATE'] = df['DateDeviceValue'].apply(lambda x: x.date())
del df['DateDeviceValue']
df.set_index('DATE', inplace=True)
最终的数据帧如下所示:

DATE      | A      |          B        |  C |  D |   E    | F  |  TIME
2015-11-27| On/Off |Chaudière_logement |4.0 |4.0 |536448.0| On |17:54:00
2015-11-27| On/Off |Chaudière_logement |4.0 |4.0 |536449.0| Off|17:54:00
2015-11-27| On/Off |Chaudière_logement |4.0 |4.0 |536450.0| On |17:54:00
2015-11-27| On/Off |Chaudière_logement |4.0 |4.0 |536451.0| Off|17:54:00

@Kickaha回答了同样的问题,我想补充更多关于如何开始的问题

确保在读取csv文件时解析了列DateDeviceValue

通过分析DateDeviceValue列中的日期和时间来创建两个新列,如果您不再需要,请将其删除。正如您所说,您希望日期作为索引,请将其设置为索引

df['TIME'] = df['DateDeviceValue'].apply(lambda x: x.time())
df['DATE'] = df['DateDeviceValue'].apply(lambda x: x.date())
del df['DateDeviceValue']
df.set_index('DATE', inplace=True)
最终的数据帧如下所示:

DATE      | A      |          B        |  C |  D |   E    | F  |  TIME
2015-11-27| On/Off |Chaudière_logement |4.0 |4.0 |536448.0| On |17:54:00
2015-11-27| On/Off |Chaudière_logement |4.0 |4.0 |536449.0| Off|17:54:00
2015-11-27| On/Off |Chaudière_logement |4.0 |4.0 |536450.0| On |17:54:00
2015-11-27| On/Off |Chaudière_logement |4.0 |4.0 |536451.0| Off|17:54:00

你能把代码/数据部分格式化吗?你能把代码/数据部分格式化吗?我想建立一个柱状图,显示在我们每个网站上点击和关闭的次数。如果你能帮忙,我在柱状图上发布了另一个问题?我想建立一个柱状图,显示在我们每个网站上点击和关闭的次数。如果你能帮忙,我在柱状图上发布了另一个问题?