我有一组以制表符分隔的文件,我必须仔细阅读它们,将它们用作pandas数据框,对它们执行一系列操作,然后将它们合并回一个excel文件,代码太长,所以我将仔细研究其中有问题的部分
我正在分析的tab文件包含所有相同数量的行2177
当我读取这些文件时,我正在按类型(string,int)的前两列进行索引
df = df.set_index(['id', 'coord'])
data = OrderedDict()
#data will contain all the information I am writing to excel
data[filename_id] = df
我正在执行的一个过程需要访问每一行数据[sample_id],其中包含用列'id'和'coord'索引的混合类型的数据帧,如下所示
sample_row = data[sample].ix[index]
我的索引是('id','coord')
如果我正在处理文件的一个子集,那么一切都很好,但是如果我用2177行读取整个文件,那么我最终会得到这个错误消息
KeyError: 'Key length (2) was greater than MultiIndex lexsort depth (0)'
我到处搜索,似乎这是排序索引的问题,但我不明白为什么使用未排序的子集不会导致问题
你知道我该怎么解决这个问题吗?
谢谢
医生很好。如果使用多个索引,那么通读(多次!),请参见here
更新:
sortlevel
将被弃用,因此使用sort_index
即相关问题 更多 >
编程相关推荐