首页 > 解决方案 > 在 Pandas Dataframe 中比较列之间的值会生成“无法使用多维键索引”错误

问题描述

我有一个数据框:

    Date                Time      A
0   2019-06-20 07:00:00 70000   -322
1   2019-06-20 07:05:00 70500   -439
2   2019-06-20 07:10:00 71000   -528
3   2019-06-20 07:15:00 71500   -606
4   2019-06-20 07:20:00 72000   -642
5   2019-06-20 07:25:00 72500   -663
6   2019-06-20 07:30:00 73000   -620
7   2019-06-20 07:35:00 73500   -561
8   2019-06-20 07:40:00 74000   -592
9   2019-06-20 07:45:00 74500   -614
10  2019-06-20 07:50:00 75000   -630
11  2019-06-20 07:55:00 75500   -719
12  2019-06-20 08:00:00 80000   -613
13  2019-06-20 08:05:00 80500   -127
14  2019-06-20 08:10:00 81000   -235

我想根据两个时间值比较“A”列中的值。
假设我想知道 7:20 时的 A 是否小于 7:40 时的 A
我尝试过这种方式,但出现错误:

df.A.loc[df.loc[df['Time'] == 72000]] < df.A.loc[df.loc[df['Time'] == 74000]]

error: Cannot index with multidimensional key

我该如何摆脱这个错误?

标签: pythonpandasdataframe

解决方案


您可以.loc按如下方式使用 then.iloc[0]来获取要比较的值。

df.loc[df['Time'] == 72000, 'A'].iloc[0] < df.loc[df['Time'] == 74000, 'A'].iloc[0]

输出:

True

推荐阅读