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

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

從已在 pandas 中重新索引的數據透視表中選擇一列

從已在 pandas 中重新索引的數據透視表中選擇一列

慕勒3428872 2023-07-27 15:58:33
我有一個如下所示的數據框:df = pd.DataFrame({'publisher': ['facebook', 'facebook', 'facebook', 'google', 'google', 'google'],          'month_leadgen': ['2019-01', '2019-02', '2019-03', '2019-01', '2019-02', '2019-03'],         'month_payment': ['2019-01', '2019-02', '2019-03', '2019-01', '2019-02', '2019-03'],         'revenue': [60, 150, 450, 85, 250, 150]})然后我創建了一個數據透視表:df = df.pivot_table(index=['publisher', 'month_leadgen'], columns='month_payment', values='revenue').reset_index()我正在嘗試選擇該列df['2020-01'],但收到一條錯誤消息:KeyError: '2020-01'您能幫我理解為什么我不能選擇此列嗎?df 似乎沒有多重索引。我無法選擇任何月份列,但可以毫無問題地選擇“month_ payment”、“campaign_name”和“month_leadgen”。
查看完整描述

1 回答

?
不負相思意

TA貢獻1777條經驗 獲得超10個贊

用于slice(None)選擇該級別的所有內容。slice(None) 使您免于陳述更深層次的內容。這意味著他們


df=df.pivot_table(index=['publisher', 'month_leadgen'], columns=['month_payment'], values=['revenue']).reset_index()

print(df)




              publisher month_leadgen         revenue                

month_payment                         2019-01 2019-02 2019-03

0              facebook       2019-01    60.0     NaN     NaN

1              facebook       2019-02     NaN   150.0     NaN

2              facebook       2019-03     NaN     NaN   450.0

3                google       2019-01    85.0     NaN     NaN

4                google       2019-02     NaN   250.0     NaN

5                google       2019-03     NaN     NaN   150.0

選擇


df.loc[:, (slice(None), '2019-01')]


 


               revenue

month_payment   2019-01

0                60.0

1                 NaN

2                 NaN

3                85.0

4                 NaN

5                 NaN



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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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