为什么 `df.columns` 是一个空列表,而如果我打印出数据框,我可以看到列名? Python Pandas

Why is the `df.columns` an empty list while I can see the column names if I print out the dataframe? Python Pandas

import pandas as pd
DATA = pd.read_csv(url)
DATA.head()

我有一个包含数十列的大型数据集。像上面一样将其加载到 Colab 后,我可以看到每一列的名称。但是 运行 DATA.columns 只是 return Index([], dtype='object')。这是怎么回事?

现在我发现有几列没有列名是不可能挑出来的。一种方法是在我加载它时指定 names = [...],但我不愿意这样做,因为列太多了。所以我正在寻找一种按整数索引列的方法,例如 R df[:,[1,2,3]] 只会给我数据框的前三列。不知何故 Pandas 似乎专注于列名并使整数索引非常不方便。

所以我要问的是 (1) 我做错了什么?加载数据框时是否也可以获取这些列名? (2) 如果不是,如何通过整数列表找出第[0, 1, 10]列?


看来问题出在加载 DATA.shape returns (10000,0) 上。我重新运行加载代码几次,突然之间,一切恢复正常。也许 Colab 在小睡什么的?

您可以使用 df.loc[:,[1,2,3]] 完美地做到这一点,但我建议您使用名称,因为如果列更改顺序或您插入新列,代码可能会破坏它。