2

在使用特定列对 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'列,它给了我颜色列。我想我在这里遗漏了什么?


编辑输入文件的前几行是:

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
4

1 回答 1

2

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

要解决此问题,请像这样读取您的输入文件:

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

Pandas 会自动插入行标识符。

于 2013-03-06T19:33:33.107 回答