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

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

groupby 后的 Pandas Keyerror

groupby 后的 Pandas Keyerror

holdtom 2023-05-16 16:42:33
我想在對它進(jìn)行分組后過濾數(shù)據(jù)框,但遇到了一個(gè)鍵錯(cuò)誤,這里是一些示例代碼:df = pd.DataFrame([                [0, 1, 'm', 5.0], [0, 1, 'm', -7.0],[0, 1, 'm', 9.0],[0, 1, 'm', 32.0],[0, 1, 'm', -11.0],                [0, 6, 'm', -12.0], [0, 6, 'm', 15.0],[0, 6, 'm', -16.0],[0, 6, 'm', -3.0],[0, 6, 'm', 21.0],                [0, 12, 'm', 15.0], [0, 12, 'm', 51.0],[0, 12, 'm', 4.0],[0, 12, 'm', 3.0],[0, 12, 'm', 1.0],                [1, 1, 'm', 5.0], [1, 1, 'm', -7.0],[1, 1, 'm', 9.0],[1, 1, 'm', 32.0],[1, 1, 'm', -11.0],                [1, 6, 'm', -12.0], [1, 6, 'm', 15.0],[1, 6, 'm', -16.0],[1, 6, 'm', -3.0],[1, 6, 'm', 21.0],                [1, 12, 'm', 15.0], [1, 12, 'm', 51.0],[1, 12, 'm', 4.0],[1, 12, 'm', 3.0],[1, 12, 'm', 1.0]                ],                columns=['id', 'timeperiod', 'timeperiodtype', 'value'])df['good'] = df['value'].apply(lambda x: 1 if x>0 else 0)print(df)print(df[df['timeperiod']>6])df = df[['id', 'timeperiod','timeperiodtype','good']][df['timeperiod']>0].groupby(['id','timeperiod','timeperiodtype']).mean()print(df[df['timeperiod']>6])我想避免使用 reset_index,因?yàn)樵谧罱K代碼中我將有幾個(gè)形狀相似的數(shù)據(jù)幀,我將聚合/合并/連接這些數(shù)據(jù)幀。我確定我一定遺漏了一些明顯的東西。如何使用列名來過濾分組數(shù)據(jù)框?
查看完整描述

1 回答

?
侃侃無極

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

用于DataFrame.loc按條件和列名過濾,然后用于避免MultiIndex添加DataFrame.reset_index或參數(shù)as_index=False

df?=?df.loc[df['timeperiod']>0,?['id',?'timeperiod','timeperiodtype','good']].groupby(['id','timeperiod','timeperiodtype']).mean().reset_index()

或者:

df?=?df.loc[df['timeperiod']>0,?['id',?'timeperiod','timeperiodtype','good']].groupby(['id','timeperiod','timeperiodtype'],?as_index=False).mean()


print(df)

? ?id? timeperiod timeperiodtype? good

0? ?0? ? ? ? ? ?1? ? ? ? ? ? ? m? ?0.6

1? ?0? ? ? ? ? ?6? ? ? ? ? ? ? m? ?0.4

2? ?0? ? ? ? ? 12? ? ? ? ? ? ? m? ?1.0

3? ?1? ? ? ? ? ?1? ? ? ? ? ? ? m? ?0.6

4? ?1? ? ? ? ? ?6? ? ? ? ? ? ? m? ?0.4

5? ?1? ? ? ? ? 12? ? ? ? ? ? ? m? ?1.0


print(df[df['timeperiod']>6])

? ?id? timeperiod timeperiodtype? good

2? ?0? ? ? ? ? 12? ? ? ? ? ? ? m? ?1.0

5? ?1? ? ? ? ? 12? ? ? ? ? ? ? m? ?1.0

編輯:


對于過濾器,MuiltiIndex可以使用Index.get_level_values


df = df.loc[df['timeperiod']>0, ['id', 'timeperiod','timeperiodtype','good']].groupby(['id','timeperiod','timeperiodtype']).mean()

print(df)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? good

id timeperiod timeperiodtype? ? ??

0? 1? ? ? ? ? m? ? ? ? ? ? ? ? 0.6

? ?6? ? ? ? ? m? ? ? ? ? ? ? ? 0.4

? ?12? ? ? ? ?m? ? ? ? ? ? ? ? 1.0

1? 1? ? ? ? ? m? ? ? ? ? ? ? ? 0.6

? ?6? ? ? ? ? m? ? ? ? ? ? ? ? 0.4

? ?12? ? ? ? ?m? ? ? ? ? ? ? ? 1.0

? ?

print(df[df.index.get_level_values('timeperiod')>6])

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? good

id timeperiod timeperiodtype? ? ??

0? 12? ? ? ? ?m? ? ? ? ? ? ? ? 1.0

1? 12? ? ? ? ?m? ? ? ? ? ? ? ? 1.0


查看完整回答
反對 回復(fù) 2023-05-16
  • 1 回答
  • 0 關(guān)注
  • 276 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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