第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

為什么我在多索引的索引中有空項

為什么我在多索引的索引中有空項

炎炎設計 2023-04-18 16:03:51
這只是為多索引數據幀的初學者分享一個非?;镜母拍睢N易⒁獾?2 索引(多索引)df 的索引列中有空項。雖然這一定是多索引數據幀的基礎知識,但我不熟悉它并且忘記了它。我沒有很快注意到這可能的意義,因為我有非常大的數字作為索引值,您甚至沒有開始檢查它們的重要性。排序df.sort_index(inplace=True)也無助于擺脫空項目。乍一看,數據集本身的第一個索引似乎有部分空行。搜索“多索引的空項目”也無濟于事。這就是為什么我想與其他多索引數據幀的初學者分享這個非常簡單的問題。以下是索引列“A_idx”中的“空項”:A_idx B_idx12344 12345   0.289163 -0.464633 -0.060487      12345   0.224442  0.177609  2.15643612346 12346  -0.262329 -0.248384  0.92558012347 12347   0.051350  0.452014  0.206809      12348   2.757255 -0.739196  0.183735      12349  -0.064909 -0.963130  1.36477112350 12351  -1.330857  1.881588 -0.262170
查看完整描述

1 回答

?
哈士奇WWW

TA貢獻1799條經驗 獲得超6個贊

這只是為多索引數據幀的初學者分享一個非?;镜母拍?。

“空”項是多索引視圖的一部分,僅在您輸出 df 時出現,它有助于您理解層次結構。如果您輸出隔離的 Multiindex 類,則沒有項目是空的。因此,索引項永遠不會真正為空,并且“空”字段僅出現在 df 輸出中:

  • 如果“A_idx”索引被分配給多個“B_idx”索引值,則“A_idx”索引不會重復,因為它是 parent。

  • 如果“A_idx”索引指向多個值行,而“B_idx”索引正在重復,B_idx仍然重復,因為它是 child。

如果您使用df.head(10)并發(fā)現“空”索引項在第 1 行,您也可以在 df 中使用 快速檢查df.iloc[1].reset_index()。您會看到索引項不為空。

在下文中,“first”和“second”是索引名稱,因為它們在同一輸出行上,所以看起來具有同等的父級權利,但實際上層次結構是從左到右的。

first second

bar   one     0.289163 -0.464633 -0.060487

      two     0.224442  0.177609  2.156436

baz   one    -0.262329 -0.248384  0.925580

foo   one     0.051350  0.452014  0.206809

      two     2.757255 -0.739196  0.183735

      three  -0.064909 -0.963130  1.364771

qux   one    -1.330857  1.881588 -0.262170

感謝您提供示例,請轉到Access last elements of inner multiindex level in pandas dataframe。


這實際上意味著:


first second

bar   one     0.289163 -0.464633 -0.060487

bar   two     0.224442  0.177609  2.156436

baz   one    -0.262329 -0.248384  0.925580

foo   one     0.051350  0.452014  0.206809

foo   two     2.757255 -0.739196  0.183735

foo   three  -0.064909 -0.963130  1.364771

qux   one    -1.330857  1.881588 -0.262170

####


如何相應地創(chuàng)建層次結構的示例。


傳遞給 set_index() 的列列表的順序以相同的順序創(chuàng)建層次結構。


您可以在我從pandas multiindex reindex by rows借用的一個小示例中查看這一點,其中 df2 覆蓋了兩個索引的切換。只有 df 顯示秘密“空項目”,請參閱df與df2輸出:


df = pd.DataFrame({'month': [1, 4, 7, 10],

                'year': [2012, 2012, 2013, 2013],

                'sale': [55, 40, 84, 31]})

df2 = df.copy()


df=df.set_index(['year','month'])

df2=df2.set_index(['month','year'])

df:


            sale

year month      

2012 1        55

     4        40

2013 7        84

     10       31

df2:


   month  year  sale

0      1  2012    55

1      4  2012    40

2      7  2013    84

3     10  2013    31


df.index

輸出:


MultiIndex([(2012,  1),

            (2012,  4),

            (2013,  7),

            (2013, 10)],

           names=['year', 'month'])

或者:


df2.index

輸出:


MultiIndex([( 1, 2012),

            ( 4, 2012),

            ( 7, 2013),

            (10, 2013)],

           names=['month', 'year'])

看看 df 中的級別:


df.index.levels[0]

Int64Index([2012, 2013], dtype='int64', name='year')


df.index.levels[1]

Int64Index([1, 4, 7, 10], dtype='int64', name='月')


df2.index.levels[0]

Int64Index([1, 4, 7, 10], dtype='int64', name='月')


df2.index.levels[1]

Int64Index([2012, 2013], dtype='int64', name='year')


如果要檢查或闡明輸出視圖中層次結構的不同級別,請選擇一行并重置索引:


df.iloc[1].reset_index()

輸出:


  index 2012

           4

0  sale   40

或者:


df2.iloc[1].reset_index()

輸出:


  index    4

        2012

0  sale   40


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

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

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

公眾號

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