python 使用iloc无法获取所有行,但可以获取所有单行?

nhhxz33t  于 2023-01-16  发布在  Python
关注(0)|答案(2)|浏览(158)

今天我在使用pandas的时候遇到了一个问题,问题很简单,df.iloc[:][0]给了我这样的错误。

File "C:\workspaces\venv\lib\site-packages\pandas\core\frame.py", line 3805, in __getitem__
    indexer = self.columns.get_loc(key)
  File "C:\workspaces\venv\lib\site-packages\pandas\core\indexes\base.py", line 3805, in get_loc
    raise KeyError(key) from err
  KeyError: 0

为了检查哪一行不能使用iloc,我尝试了以下方法

for i in range(content_df.shape[0]):
    try:
        df.iloc[i][0]
    except:
        print(i)

这里什么都没印!
有一件事也让我很惊讶,我想用df.iloc[:][2:]去掉前两列,但是它是这样去掉前两行的。
有人知道为什么吗?先谢了。

7eumitmz

7eumitmz1#

1.如果要跳过前两行,保留所有列:
df.iloc[2:, :]
1.如果要跳过前两列,保留所有行:
df.iloc[:,2:]

zfycwa2u

zfycwa2u2#

df.iloc[:, 2:]删除前两列
df.iloc[2:,:]df.iloc[2:]删除前两行...

df.iloc[r:r, c:c]
         ^    ^
         |    |
slices rows   |
            slices columns

相关问题