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

namesデータファイルに5つの列があり、リストに6つの要素があるため、問題が発生すると思います。確認するには、列の最初のいくつかの値を確認しますid。これらはすべて6、私が正しい場合に設定されます。exp列の最初のいくつかの項目の値はです3

これを修正するには、次のように入力ファイルを読み取ります。

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

パンダは自動的に行識別子を挿入します。

于 2013-03-06T19:33:33.107 に答える