2016-05-06 28 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 

可能有人讓我知道我可以複製一個列到另一個新的數據幀不列名稱。例如,如果我想要的數據BBG.XLON.BT.A_LAST按日期索引的新數據框(new_Df),我想看看:

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']}) 
相關問題