我有一个dataframe 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 :(得分: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.name
重新分配给None
:
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']})