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

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

Python Pandas從多索引數(shù)據(jù)框中的第二個索引訪問值

Python Pandas從多索引數(shù)據(jù)框中的第二個索引訪問值

慕桂英3389331 2021-03-18 17:09:33
我不確定多索引的工作原理,所以我可能只是在這里嘗試做錯事情。如果我有一個數(shù)據(jù)框        ValueA  B         1  1    5.671  2    6.871  3    7.232  1    8.672  2    9.872  3    10.23如果要訪問B = 2的元素,該怎么做?df.ix [2]給我A = 2。要獲得特定值,似乎是df.ix [(1,2)],但這是B索引的目的,如果您不能直接訪問它的話?
查看完整描述

3 回答

?
MM們

TA貢獻(xiàn)1886條經(jīng)驗(yàn) 獲得超2個贊

您可以使用xs:


In [11]: df.xs(2, level='B')

Out[11]:

   Value

A

1   6.87

2   9.87

或者:


In [12]: df1.xs(1, level=1)

Out[12]:

   Value

A

1   5.67

2   8.67


查看完整回答
反對 回復(fù) 2021-03-26
?
素胚勾勒不出你

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超9個贊

作為一種替代方法,您可以使用df.loc:


>>> df.loc[(slice(None),2),:]

     Value

A B       

1 2   6.87

2 2   9.87

元組按順序訪問索引。因此,根據(jù)第二級索引slice(None)從index 'A',第二位置限制中獲取所有值,'B'=2在本示例中為。在:指定要所有列,但你可以subet列有作為。


查看完整回答
反對 回復(fù) 2021-03-26
?
叮當(dāng)貓咪

TA貢獻(xiàn)1776條經(jīng)驗(yàn) 獲得超12個贊

如果只想返回橫截面,請使用xs(如@Andy Hayden所述)。


但是,如果要覆蓋原始數(shù)據(jù)框中的某些值,請改用pd.IndexSlice(with pd.loc)。給定一個數(shù)據(jù)框df:


In [73]: df

Out[73]:

                 col_1  col_2

index_1 index_2

1       1            5      6

        1            5      6

        2            5      6

2       2            5      6

如果您想用where的0所有元素覆蓋col_1,index_2 == 2請執(zhí)行以下操作:


In [75]: df.loc[pd.IndexSlice[:, 2], 'col_1'] = 0


In [76]: df

Out[76]:

                 col_1  col_2

index_1 index_2

1       1            5      6

        1            5      6

        2            0      6

2       2            0      6


查看完整回答
反對 回復(fù) 2021-03-26
  • 3 回答
  • 0 關(guān)注
  • 289 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號