亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Pandas 扁平化分層多索引

Pandas 扁平化分層多索引

犯罪嫌疑人X 2023-12-12 20:28:10
在嘗試壓平它后,我有一個 pandas 數據框,如下所示:df = pd.DataFrame(web.DataReader(stocks, 'yahoo', day, day).iloc[0]).unstack(level=0).droplevel(level=0, axis=1)Attributes     adjClose        close  ...       volume       dateSymbols                               ...                        FB           261.399994   261.399994  ...   13587000.0 2020-10-19AAPL         115.980003   115.980003  ...  120639300.0 2020-10-19AMZN        3207.209961  3207.209961  ...    5223600.0 2020-10-19GOOG        1534.609985  1534.609985  ...    1607100.0 2020-10-19NFLX                NaN          NaN  ...          NaN 2020-10-19我正在嘗試將其保存到數據庫中;但是,我在 df.columns 中沒有看到符號。為了將 df 保存為以下格式:Symbols       adjClose        close  ...       volume       date FB           261.399994   261.399994  ...   13587000.0 2020-10-19AAPL         115.980003   115.980003  ...  120639300.0 2020-10-19AMZN        3207.209961  3207.209961  ...    5223600.0 2020-10-19GOOG        1534.609985  1534.609985  ...    1607100.0 2020-10-19NFLX                NaN          NaN  ...          NaN 2020-10-19關于如何實現這一目標有什么建議嗎?我的數據庫在符號、日期列上有一個復合鍵。謝謝。
查看完整描述

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 到數據幀的長度。


查看完整回答
反對 回復 2023-12-12
  • 1 回答
  • 0 關注
  • 154 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號