Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/280.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_Python 2.7_Pandas_Numpy_Dataframe - Fatal编程技术网

Python 获取数据帧的子集时发生异常

Python 获取数据帧的子集时发生异常,python,python-2.7,pandas,numpy,dataframe,Python,Python 2.7,Pandas,Numpy,Dataframe,我想得到数据帧的第一、第二和第四列,即c_a、c_b、c_d列,我的代码怎么了 我发布我的代码、数据123.csv和错误消息 sample = pd.read_csv('123.csv', header=None, skiprows=1, dtype={0:str, 1:str, 2:str, 3:float}) sample.columns = pd.Index(data=['c_a', 'c_b', 'c_c', 'c_d']) sample['c_d'] = sample['c_d

我想得到数据帧的第一、第二和第四列,即c_a、c_b、c_d列,我的代码怎么了

我发布我的代码、数据123.csv和错误消息

sample = pd.read_csv('123.csv', header=None, skiprows=1,
    dtype={0:str, 1:str, 2:str, 3:float})
sample.columns = pd.Index(data=['c_a', 'c_b', 'c_c', 'c_d'])
sample['c_d'] = sample['c_d'].astype('int64')
print sample.shape # output (3, 4)
X = sample.iloc[0, 1, 3]

    raise IndexingError('Too many indexers')
pandas.core.indexing.IndexingError: Too many indexers
123.csv的内容

c_a,c_b,c_c,c_d
hello,python,pandas,0.0
hi,java,pandas,1.0
ho,c++,numpy,0.0
您需要使用df.iloc[:,[0,1,3]]或df[[0,1,3]]

逗号分隔行索引器和列索引器

您需要使用df.iloc[:,[0,1,3]]或df[[0,1,3]]

逗号分隔行索引器和列索引器

试试看

X = sample[['c_a', 'c_b', 'c_d']]
比使用iloc更明确。

试试看

X = sample[['c_a', 'c_b', 'c_d']]

比使用iloc更明确。

Nice将在每个时间限制9分钟内将其标记为答案:很好,将在每个时间限制9分钟内将其标记为答案:谢谢你的帮助,巴纳菲什,投票支持回答。谢谢你的帮助,巴纳菲什,投票支持回答。