2016-05-06 15 views
-1

列ヘッダーなしで別のデータフレームのデータフレームの列をコピーします。(日付でインデックス付け)私はデータフレームstockDataを持って

stockData    BBG.XLON.BTA.S_LAST BBG.XLON.BTA.S_VOLUME BBG.XLON.BTA.S_MKTCAP \ 
date                    
2008-02-04    262.00    23397414    20875.7353 
2008-02-05    257.25    35213970    20497.5582 
2008-02-06    262.75    41323308    20935.7956 
2008-02-07    237.00    123276113    18884.0477 
2008-02-08    231.00    76456078    18389.9269 

誰かが、私はせずに、別の新しいデータフレームに列のいずれかをコピーすることができますどのように私に知らせてもらえ列名私は日付によってインデックスを付け、新たなデータフレーム(new_Df)にBBG.XLON.BT.A_LASTのためのデータを望んでいた場合たとえば、私が見てみたい:

new_Df    

2008-02-04    262.00     
2008-02-05    257.25     
2008-02-06    262.75     
2008-02-07    237.00     
2008-02-08    231.00 

何の列名に注意していないしてください。

多くの感謝

答えて

0

DataFrameの各列には名前があります。ただし、空の文字列にその名前を設定できます

In [45]: df = pd.DataFrame(np.random.randint(10, size=(5,3)), columns=list('ABC')); df.columns.name = 'stockdata' 

In [55]: df[['A']].rename(columns={'A':''}) 
Out[55]: 
stockdata 
0   5 
1   1 
2   5 
3   4 
4   5 

も、列インデックス、stockdataの名前を削除df.columns.nameNoneに再割り当てするには:

In [56]: df.columns.name = None; df[['A']].rename(columns={'A':''}) 
Out[56]: 

0 5 
1 1 
2 5 
3 4 
4 5 

は、この列をコピーするには新しいDataFrameに割り当てるには、単にnewdf['']に割り当てます。

In [57]: newdf = pd.DataFrame() 

In [58]: newdf[''] = df['A'] 

In [59]: newdf 
Out[59]: 

0 5 
1 1 
2 5 
3 4 
4 5 

またはより簡潔に、

In [60]: newdf = pd.DataFrame({'': df['A']}) 
関連する問題