0

重複した列を持つデータフレームdfがあります: (列のデータフレームが重複している必要があります。これは、パラメーターとして matplotlib に渡されてプロットされるため、列の名前と内容は同じか異なる可能性があります)

>>> df
                                         PE     RT    Ttl_mkv      PE
STK_ID    RPT_Date                                  
11_STK79  20130115  41.932  2.744   3629.155  41.932
21_STK58  20130115  14.223  0.048  30302.324  14.223
22_STK229 20130115  22.436  0.350  15968.313  22.436
23_STK34  20130115 -63.252  0.663   4168.189 -63.252

df[df.columns[1]] :で2 番目の列を取得できます。

>>> df[df.columns[1]]
STK_ID     RPT_Date
11_STK79   20130115    2.744
21_STK58   20130115    0.048
22_STK229  20130115    0.350
23_STK34   20130115    0.663

しかし、最初の列を で取得したい場合は、次のようにdf[df.columns[0]]なります。

>>> df[df.columns[0]]
                                   PE      PE
STK_ID    RPT_Date                
11_STK79  20130115  41.932  41.932
21_STK58  20130115  14.223  14.223
22_STK229 20130115  22.436  22.436
23_STK34  20130115 -63.252 -63.252

2列あるのはどれ? これにより、アプリケーションが最初の列だけを必要とするため、アプリケーションがダウンしますが、パンダは1番目と4番目の列を提供します! それはバグですか、それとも意図的にこのように設計されていますか? この問題を回避するには?

私のパンダのバージョンは 0.8.1 です。

4

1 に答える 1

2

同じ名前の2つの列が必要な理由がよくわかりません。おそらくそれを避けるのが最善でしょう。

しかし、あなたの質問に答えるために、これは「PE」列の1つだけを返します:

df.T.drop_duplicates().T.PE

STK_ID     RPT_Date
11_STK79   20130115    41.932
21_STK58   20130115    14.223
22_STK229  20130115    22.436
23_STK34   20130115   -63.252
Name: PE

また:

df.T.ix[0].T
于 2013-01-15T10:05:01.687 に答える