Pandas按名称索引和访问列

时间:2013-03-06 18:19:33

标签: python indexing dataframe pandas

我尝试使用特定列索引df后按列名访问pandas数据框,并返回错误的列值。

import pandas as pd
rs =pd.read_csv('rs.txt', header="infer", sep="\t",  names=['id', 'exp','fov','cycle', 'color', 'values'], index_col=2)

rs.cycle.head()

我在这里用'fov'索引df,我想访问'cycle'列,它给了我颜色列。我想我在这里错过了什么?


EDIT 输入文件的前几行是:

6 3 1 G 0.96593 
6 3 1 O 0.88007 
6 3 1 R 0.94305 
6 3 2 B 0.90554 
6 3 2 G 0.93146

1 个答案:

答案 0 :(得分:2)

我认为问题出现是因为您的数据文件有5列而您的names列表有6个元素。要进行验证,请检查id列中的前几个值 - 如果我是正确的话,这些值都将设置为6exp列中的前几个项目的值为3

要解决此问题,请按以下方式阅读输入文件:

rs =pd.read_csv('rs.txt', header="infer", sep="\t",  names=['exp','fov','cycle', 'color', 'values'], index_col=2

Pandas会自动插入行标识符。