通过熊猫中的(iloc)名称选择列

时间:2018-10-14 18:55:22

标签: python pandas

尝试获取要按名称过滤的数据框内容

X = df.iloc[108:, 1:48]

y = df.iloc[108:, -1]

#108 to just shy of last

#training
tx = X.iloc[0:int(split), 1:48]

df1 = df.iloc[:, ['date', 'CPIAUCSL']]

不起作用

File "<ipython-input-77-c23d3211e2bf>", line 51 df1 = df.loc[:, ['date', 'CPIAUCSL']]df1 = df.loc[:, ['date', 'CPIAUCSL']] ^ SyntaxError: invalid syntax –

df1 = df.iloc[:, [1, 2]]

产生

    date    CPIAUCSL
0   1991-01-31  134.700
1   1991-02-28  134.800
2   1991-03-31  134.800

1 个答案:

答案 0 :(得分:1)

您似乎正在尝试根据第1列(日期)和第2列(CPIAUCSL)进行切片。

df.iloc切片仅在列和行的索引号上,而不在列名上。要基于名称进行切片,应使用df.loc。因此,在您的最后一个示例中:

df1 = df.loc[:, ['date', 'CPIAUCSL']]

如果您可以提供有关所需的确切信息以及数据外观的更多信息,我们可以为您提供更多帮助。