2017-01-29 5 views
2

概要
私はテロップの列(T)の値を取得し、ファイル名に使用しようとしています。df.iloc [1]。列名特定の値ではなく、行全体を返しますか?

アプローチ
私は1つの特定の値をキャプチャするためにdf.iloc [1] .Tとカラム名を使用していますし、私はその値を取り、ファイルパスを作成するために、別の文字列に連結します。

通報
df.iloc [1] .Tは私の全体の行全体だけではなく一つの値を与えています。

print(df2.iloc[1].T)    
Unnamed: 0    1 
D    2010-12-01 
T     tvix 
O     99.98 
H     100.69 
L     98.8 
C     100.69 
V      0 
AC   2.51725e+06 
Y     2010 
dow      3 
M      12 
W      48 
Name: 1, dtype: object 

「tvix」を取得する予定です。今私は他の列を印刷するとき、私は例えば1つの値を得る

print(df2.iloc[1].D) 
print(df2.iloc[1].H) 
print(df2.iloc[1].L) 

2010-12-01 
100.689997 
98.799998         

期待どおりに、日付、高、および低を印刷します。今テロップカラム(T)と他のすべての違いはティッカー列がすべての行に対して同じ値を有することである(私はそれをGROUPBYの目的のためにこの方法を持っている)

print(df2.head()) 
    Unnamed: 0   D  T   O   H   L \ 
0   0 2010-11-30 tvix 106.269997 112.349997 104.389997 
1   1 2010-12-01 tvix 99.979997 100.689997 98.799998 
2   2 2010-12-02 tvix 98.309998 98.309998 86.499998 
3   3 2010-12-03 tvix 88.359998 88.359998 78.119998 
4   4 2010-12-06 tvix 79.769998 79.999998 74.619998 

IはT以来ことを想定してい私はこの問題を抱えている理由です。これに関するいかなる入力も非常に高く評価されます。

答えて

3

.column_name経由でカラムにアクセスするのは少し問題です(インデックスでも同じです)。常に機能するとは限りません(列名にスペースがある場合、この場合は数値などの場合、メソッドまたは属性の名前が同じ場合)。 .Tは、あなたが括弧を使用する必要がありますので、データフレームを転置するためにある:

df.iloc[1]['T'] 
+0

dあなたのソリューションを転置したことが分かりました。私はちょうど.colunm_nameの使用を避けるかもしれないと思います。私が正しいときにマークを付けます。 – ZacAttack

+0

ありがとう。私はこの理由で '.column_name'を使用しません。 – ayhan

+0

@ ZacAttackおそらくあなたもそれをupvoteすることができますか? (それはあなたに役立ったので):) – MYGz

3

あなたはこれがあなた'tvix'

それともあなたとミックスインデックスを使用することができます取得しますiloc[]

df.iloc[1,2] 

に列を指定することができます.ix[]

関連する問題