使用“datetime64[ns]”格式从datafram中提取

2024-04-24 15:18:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据帧,它的元素如下:

df1[1:4]
                   Sims
2014-01-02  [51, 53, 51, 3...
2014-01-03  [56, 48, 64, ...
2014-01-04  [57, 45, 47, ...

模拟人生是一个500个元素的列表。你知道吗

我还有另一个数据帧:

df2[1:4]
                          Date  Month  Day   HE    Year
DateTime                                               
2012-01-01 02:00:00 2012-01-01    1.0  1.0  2.0  2012.0
2012-01-01 03:00:00 2012-01-01    1.0  1.0  3.0  2012.0
2012-01-01 04:00:00 2012-01-01    1.0  1.0  4.0  2012.0

我正在各种配置中尝试以下操作:

df1[df2['Date']]

但是它错误地抱怨了df1索引和df2['Date']之间的时间格式差异。但是,两者的时间格式相同,如下所示。你知道吗

df1.index[1:4]
DatetimeIndex(['2014-01-02', '2014-01-03', '2014-01-04'], dtype='datetime64[ns]', freq=None)


    df2['Date'][1:4].values
array(['2012-01-01T00:00:00.000000000', '2012-01-01T00:00:00.000000000',
       '2012-01-01T00:00:00.000000000'], dtype='datetime64[ns]')

如何进行以下工作:

df1[df2['Date']]

编辑: 错误消息:

KeyError: "['2012-01-01T00:00:00.000000000' '2012-01-01T00:00:00.000000000'\n '2012-01-01T00:00:00.000000000' ..., '2016-12-31T00:00:00.000000000'\n '2016-12-31T00:00:00.000000000' '2016-12-31T00:00:00.000000000'] not in index"

Tags: 数据元素列表dateindex格式错误时间
1条回答
网友
1楼 · 发布于 2024-04-24 15:18:21

df1[df2['Date']]根据我的经验,如果您试图对行而不是列进行索引,类型索引往往会出错。问题大概是你让pandas猜测你要在哪个轴上切片,而这并不总是如你所愿。你知道吗

您可以尝试使用更显式的索引方法,例如df1.loc[df2['Date'], :]df1.xs(df2['Date'], 0)。你知道吗

相关问题 更多 >