Pandas 通过切片和选择进行索引

Pandas indexing by slicing and selection

无法想象以前没有人问过这个问题,但找不到类似的 post。 问:假设您有一个包含 m 列的 pandas 数据框 (df.shape == (nxm))。我想通过切片和选择列来提取列的子集,看起来像: df1 = df.iloc[:,[a,b,c:d]]。这可能吗?在此示例中,结果应在 df1 中实例化一个数据帧,其中列为数据帧 df 的 a、b 和 c 列。

您可以将整数列表或切片传递给 iloc,但不能同时传递两者。 Numpy 具有 r_ 函数,可用于将 [a,b,c:d] 转换为列表。

import numpy as np

df1 = df.iloc[:, np.r_[a,b,c:d]]