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

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

熊貓將系列分配給新列以進(jìn)行多索引

熊貓將系列分配給新列以進(jìn)行多索引

寶慕林4294392 2021-03-29 08:55:39
所以我用MultiIndex創(chuàng)建一個(gè)數(shù)據(jù)框df = pd.DataFrame({    'C1': ['x', 'x', 'y', 'y', 'z', 'z'],    'C2': ['a', 'b', 'a', 'b', 'a', 'b'],    'C3': [10, 11, 12, 13, 14, 15]})df.set_index(['C1', 'C2'], inplace=True)我得到以下數(shù)據(jù)框       C3C1 C2    x  a   10   b   11y  a   12   b   13z  a   14   b   15我也有一個(gè)具有相同索引的系列C2:series = pd.Series([100], index=['a'])我想將此系列分配給一個(gè)新列C4,僅分配給“ x”第一個(gè)索引。如果使用.assign,它會(huì)工作,但會(huì)返回一個(gè)副本:df.loc['x'].assign(C4=series)我得到    C3     C4C2           a   10  100.0b   11    NaN但我無法將其分配給原始數(shù)據(jù)df.loc['x'] = df.loc['x'].assign(C4=series)產(chǎn)量         C3C1 C2      x  a    NaN   b    NaN如果使用這樣的賦值,我將得到相同的結(jié)果:df.loc['x', 'C4'] = series但是它會(huì)產(chǎn)生NaN。         C3  C4C1 C2          x  a    NaN NaN   b    NaN NaNy  a   12.0 NaN   b   13.0 NaNz  a   14.0 NaN   b   15.0 NaN如何以這種方式分配?
查看完整描述

2 回答

?
慕仙森

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

我想將此系列分配給新列C4,僅分配給“ x”第一個(gè)索引。


一種方法是從索引級別映射序列。關(guān)鍵方法是pd.Index.get_level_values。然后覆蓋到NaN不需要映射的位置。


f['C4'] = df.index.get_level_values(1).map(series.get)

df.loc[df.index.get_level_values(0) != 'x', 'C4'] = np.nan


print(df)


       C3     C4

C1 C2           

x  a   10  100.0

   b   11    NaN

y  a   12    NaN

   b   13    NaN

z  a   14    NaN

   b   15    NaN

另外,您可以使用numpy.where:


df['C4'] = np.where(df.index.get_level_values(0) == 'x',

                    df.index.get_level_values(1).map(series.get),

                    np.nan)


查看完整回答
反對 回復(fù) 2021-04-13
?
飲歌長嘯

TA貢獻(xiàn)1951條經(jīng)驗(yàn) 獲得超3個(gè)贊

你可以去pd.IndexSlice即


df.loc[pd.IndexSlice['x',series.index.tolist()],'C4']  = series.values


       C3     C4

C1 C2           

x  a   10  100.0

   b   11    NaN

y  a   12    NaN

   b   13    NaN

z  a   14    NaN

   b   15    NaN


查看完整回答
反對 回復(fù) 2021-04-13
  • 2 回答
  • 0 關(guān)注
  • 171 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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