1 回答

TA贡献1858条经验 获得超8个赞
符号是您的数据帧索引,您需要使用reset_index它来将其放入框架本身。尝试这个:
df = (pd.DataFrame(web.DataReader(stocks, 'yahoo', day, day)
.iloc[0])
.unstack(level=0)
.droplevel(level=0, axis=1)
.rename_axis(columns=None) # Gets rid of the "Attributes"
.reset_index() # Puts "Symbols" as an actual column, not as the index
)
我的2个补充:
rename_axis
这应该摆脱你的“属性”标题。这主要用于打印时的视觉目的,但可能会让不习惯使用多索引数据的人感到困惑。本质上,您的列标签存储在一个Index
对象中。该Index
对象可以有一个名称,因此“属性”是列的名称(非常奇怪的概念,这对于普通索引来说并不是非常有用 - 但在使用 a 时有很多用处MultiIndex
)。reset_index()
看来您的“符号”列实际上并不是一列(这就是为什么它没有出现在df.columns
数据帧的索引中,而是出现在数据帧的索引中。添加此方法会将“符号”索引作为列插入到数据帧中,并且创建一个简单的新索引RangeIndex
,范围从 0 到数据帧的长度。
添加回答
举报