2016-05-06 69 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']}) 
相关问题