IndexError:索引164超出了轴1的大小为164的范围

时间:2017-11-26 16:30:58

标签: python python-3.x pandas

我尝试删除列和行,然后重置列和行。但是在第三个文件中,我收到错误:

  

IndexError:索引164超出了轴1的大小为164

的范围

我的文件夹中的文件为167*164,删除后的文件正变为95*95

path = r'/home/RESULTS'
allFiles = sorted((glob.glob(path + "/*.csv")))
for file_ in allFiles:
    data = pd.read_csv(file_, header=None)
    data = data.astype(str)
    data = data.apply(lambda x: x.str.replace(',', '.'))
    data = data.astype(float)
    data = data.fillna(value=1)
    data.drop(data.columns[cols_to_drop],axis=1,inplace=True)
    data.drop(data.index[rows_to_drop], inplace=True)
    data = data.reset_index(drop=True)
    data = data.T.reset_index(drop=True).T
    print(file_)

1 个答案:

答案 0 :(得分:0)

我相信您可以简化您的解决方案:

path =r'/home/RESULTS' 
allFiles = sorted((glob.glob(path + "/*.csv")))
for file_ in allFiles:
    #decimal for convert float , to .
    data = pd.read_csv(file_, header=None, decimal=',')
    data = data.fillna(value=1)
    #not necessary select columns and index, also ignore drop non exist values
    data.drop(cols_to_drop,axis=1,inplace=True, errors='ignore')
    data.drop(rows_to_drop, inplace=True, errors='ignore')
    data=data.reset_index(drop=True)
    #assign to columns range - reset columns names
    data.columns = range(len(data.columns))
    print(data)