从python panda获取特定行时出错



我想从foll中按名称提取一行。数据帧:

        Unnamed: 1       1       1.1        2      TOT
0                                                     
1         DEPTH(m)    0.01      1.24     1.52      NaN
2   BD 33kpa(t/m3)    1.60      1.60     1.60      NaN
3          SAND(%)   42.10     42.10    65.10      NaN
4          SILT(%)   37.90     37.90    16.90      NaN
5          CLAY(%)   20.00     20.00    18.00      NaN
6          ROCK(%)   12.00     12.00    12.00      NaN
7       WLS(kg/ha)    2.60      8.20     0.10     10.9
8       WLM(kg/ha)    5.00      8.30     0.00     13.4
9      WLSL(kg/ha)    0.00      3.80     0.10      3.9
10     WLSC(kg/ha)    1.10      3.50     0.00      4.6
11     WLMC(kg/ha)    2.10      3.50     0.00      5.6
12    WLSLC(kg/ha)    0.00      1.60     0.00      1.6
13   WLSLNC(kg/ha)    1.10      1.80     0.00      2.9
14     WBMC(kg/ha)    3.40    835.10   195.20   1033.7
15     WHSC(kg/ha)   66.00   8462.00  1924.00  10451.0
16     WHPC(kg/ha)  146.00  18020.00  4102.00  22269.0
17      WOC(kg/ha)  219.00  27324.00  6221.00     34.0
18     WLSN(kg/ha)    0.00      0.00     0.00      0.0
19     WLMN(kg/ha)    0.00      0.10     0.00      0.1
20     WBMN(kg/ha)    0.50     92.60    19.30    112.5
21     WHSN(kg/ha)    7.00    843.00   191.00   1041.0
22     WHPN(kg/ha)   15.00   1802.00   410.00   2227.0
23      WON(kg/ha)   22.00   2738.00   621.00   3381.0

我想提取包含WOC(公斤/公顷)信息的行。我正在做的是:

df.loc['WOC(kg/ha)']

但我得到了错误:

*** KeyError: 'the label [WOC(kg/ha)] is not in the [index]'

您的索引中没有该标签,它在您的第一列中,以下内容应该有效:

df.loc[df['Unnamed: 1'] == 'WOC(kg/ha)']

否则,将索引设置为该列,代码就会正常工作:

df.set_index('Unnamed: 1', inplace=True)

此外,这可以用于设置索引,而无需显式指定列名:df.set_index(df.columns[0], inplace=True)

最新更新