python - 在 Pandas DataFrame 中选择多个列范围

标签 python pandas numpy dataframe

我必须阅读一些 Excel 格式的文件和一些 CSV 格式的文件。有些文件有数百列。

有没有办法在不指定所有列名或位置的情况下选择多个列范围?例如选择第 1 -10、15、17 和 50-100 列:

df = df.ix[1:10, 15, 17, 50:100]

在从 Excel 文件和 CSV 文件创建数据帧时以及在创建数据帧之后,我都需要知道如何执行此操作。

最佳答案

使用 np.r_

np.r_[1:10, 15, 17, 50:100]

array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 15, 17, 50, 51, 52, 53, 54, 55,
       56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
       73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
       90, 91, 92, 93, 94, 95, 96, 97, 98, 99])

这样你就可以了

df.iloc[:, np.r_[1:10, 15, 17, 50:100]]

关于python - 在 Pandas DataFrame 中选择多个列范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41256648/

相关文章:

python - 编辑距离,例如 Levenshtein 考虑到键盘上的接近度

python - 在 Python 或 numpy 中使用不同的分隔符

python - 将字符添加到 pandas 列中每个值的开头

python - 计算每 X 行的平均值

python - numpy 数组中的数字有何含义?

python - 如何在 Graphene Python 突变中设置 cookie?

python - Pandas read_csv 用字符串 'nan' 填充空值,而不是解析日期

python - 如何仅获取 pandas 数据帧的行索引

python - 错误 : ValueWarning: A date index has been provided, 但它没有关联的频率信息,因此在例如预测

python - numpy中的命名元组