为什么 `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]]
完美地做到这一点,但我建议您使用名称,因为如果列更改顺序或您插入新列,代码可能会破坏它。
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]]
完美地做到这一点,但我建议您使用名称,因为如果列更改顺序或您插入新列,代码可能会破坏它。