当有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]),但返回错误“无法使用多维键索引”
答案 0 :(得分:1)
在这种情况下,您的索引不是DatetimeIndex,只有列。问题是,当您使用test>1
作为比较时,它将返回一个与test
相同大小的DataFrame,并为每个单元格显示布尔值,以显示值是否大于1。布尔值,它期望它是一维数组,但是由于将其传递给DataFrame(二维),因此会出现“多维键”错误。我相信您想要的是:
test.loc[test['2019-01-02']>1, '2019-01-02']