如何在python中选择多个列

时间:2018-12-28 15:40:13

标签: python pandas

我正在处理数据集(行:5000,列:60)。 我想阅读一些与我的分析有关的列,但是代码不起作用。

  

第1列,第5列,第22至28列以及第47至54列。

我已经阅读了手册,似乎我可以一一选择列数,也可以不选择两个列。 您能告诉我如何解决这个问题吗?

All_Dataset = pd.read_csv('Data.csv', engine = 'python')
data = All_Dataset.iloc[:, [0, 5,  22:29, 47:55]]

2 个答案:

答案 0 :(得分:3)

您可以使用chaining迭代次数创建带有索引的列表:

import numpy as np
import pandas as pd
from itertools import chain

# create sample data-frame
data = np.random.randint(1, 10, size=(10, 100))
df = pd.DataFrame(data=data)

# create indices
indices = list(chain([0, 5], range(22, 29), range(47, 55)))

result = df.iloc[:, indices]
print(result.shape)

输出

(10, 17)

答案 1 :(得分:2)

使用np.r_

import numpy as np

df.iloc[:,np.r_[0, 5,  22:29, 47:55]]