簡體   English   中英

在 pandas 中創建多索引

[英]Creating Multi-Index in pandas

我正在嘗試使用多索引來分析我的投注活動,這里是一些數據的示例。

日期 提示者 博彩公司 市場 賭注 賠率 退貨 利潤 原因 事件
日期 1 投注365 過度 50 2.5 1.9 0 -50 受傷 活動一
日期 2 投注365 西南 100 2 200 100 直覺 活動 2
日期 3 戴夫 投注365 過度 50 2.5 1.9 0 -50 好價錢 活動 3
“” “” 必發交易所 過度 50 2.5 2 0 -50 “” “”
日期 4 必發交易所 50 3.5 1.8 90 40 脫線 活動 4
“” “” “” “” 200 4.5 1.4 280 80 “” “”
日期 5 安迪 市場 西南 100 3.7 0 -100 陣容弱 活動 5
“” “” “” 差點 200 0.5 1.5 300 100 “” “”
“” “” 投注365 直流 200 1.45 290 90 “” “”
日期 6 投注365 過度 100 2.5 1. 9 0 -100 受傷 活動 6

正如你所看到的,有時我會在一個賽事上與多家博彩公司下注,而在這些博彩公司上我可能會下多個賭注(例如,第一個“日期”為空白的第 4 行仍然是第 3 項的賭注,第 6 行仍然是 Betfair Exchange "Unders" 賭注,但在不同的路線上。)

我嘗試使用設置多索引

df.set_index(["Date","Tipster","Bookie","Line"],inplace = True)

但第 4 行不包含在 Date 4 索引中,它只是一個單獨的空白。

當我嘗試使用 group by 時遇到同樣的問題

df.groupby(["Tipster"]).Profit.sum().toframe()

這里它說安迪和戴夫的總利潤是-100和-50,應該分別是90和-100。

我認為如果我用相關事件、bookie 等填充空白,問題就會解決,但我覺得有一個更好的解決方案涉及多索引。

任何幫助都會很棒,謝謝!

附言。 有沒有一種快速的方法來解決這些問題? 我花了很長時間才使用 markdown 格式彈出這個。

不要將您的內部和外部數據表示混為一談。 完全填充您的數據框 (DF)。 DF 是為了滿足計算機的需求,而不是為了人類可讀的。 如果您想要上面顯示的表格格式,那么只需使用您的顯示例程來處理它。 不要指望您的 DF package 會亂用您決定放在其他地方的數據。

至於在問題中顯示您的 DF,只需使用默認的 Pandas 顯示打印,將其粘貼到您的問題中,並格式化為代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM