不能将loc与DatetimeIndex一起使用

时间:2019-05-22 19:24:05

标签: python pandas

当有DatetimeIndex时,我无法选择使用loc。

test = pd.DataFrame(data=np.array([[0, 0], [0, 2], [1, 3]), columns=pd.date_range(start='2019-01-01', end='2019-01-02', freq='D'))
test.loc[test>1, '2019-01-02']

我希望它返回pandas.Series([2,3]),但返回错误“无法使用多维键索引”

1 个答案:

答案 0 :(得分:1)

在这种情况下,您的索引不是DatetimeIndex,只有列。问题是,当您使用test>1作为比较时,它将返回一个与test相同大小的DataFrame,并为每个单元格显示布尔值,以显示值是否大于1。布尔值,它期望它是一维数组,但是由于将其传递给DataFrame(二维),因此会出现“多维键”错误。我相信您想要的是:

test.loc[test['2019-01-02']>1, '2019-01-02']