Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在python中选择多个列_Python_Pandas - Fatal编程技术网

如何在python中选择多个列

如何在python中选择多个列,python,pandas,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]] 您可以使用itera

我正在处理一个数据集(行: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]]

您可以使用iterables的索引创建一个列表:

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)

使用
np.r\

import numpy as np

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

您正在使用的包(据我所知)不是python标准库的一部分。如果您对第三方包装有任何疑问,请在标签中提及,最好也在您的问题中提及。非常感谢,它非常有效