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

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

根據(jù)列添加缺失的行

根據(jù)列添加缺失的行

白板的微信 2023-10-18 21:24:09
我已經(jīng)給出了以下 dfdf = pd.DataFrame(data = {'day': [1, 1, 1, 2, 2, 3], 'pos': 2*[1, 14, 18], 'value': 2*[1, 2, 3]}    df    day pos value0   1   1   11   1   14  22   1   18  33   2   1   14   2   14  25   3   18  3我想填充行,以便每天都有“pos”列的所有可能值期望的結(jié)果:    day pos value0   1   1   1.01   1   14  2.02   1   18  3.03   2   1   1.04   2   14  2.05   2   18  NaN6   3   1   NaN7   3   14  NaN8   3   18  3.0主張:df.set_index('pos').reindex(pd.Index(3*[1,14,18])).reset_index()產(chǎn)量:ValueError: cannot reindex from a duplicate axis
查看完整描述

4 回答

?
胡子哥哥

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

pivot那么我們來嘗試一下stack:


df.pivot('day','pos','value').stack(dropna=False).reset_index(name='value')

輸出:


   day  pos  value

0    1    1    1.0

1    1   14    2.0

2    1   18    3.0

3    2    1    1.0

4    2   14    2.0

5    2   18    NaN

6    3    1    NaN

7    3   14    NaN

8    3   18    3.0

選項(xiàng) 2:與 MultiIndex 合并:


df.merge(pd.DataFrame(index=pd.MultiIndex.from_product([df['day'].unique(), df['pos'].unique()])),

         left_on=['day','pos'], right_index=True, how='outer')

輸出:


   day  pos  value

0    1    1    1.0

1    1   14    2.0

2    1   18    3.0

3    2    1    1.0

4    2   14    2.0

5    3   18    3.0

5    2   18    NaN

5    3    1    NaN

5    3   14    NaN


查看完整回答
反對 回復(fù) 2023-10-18
?
牛魔王的故事

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

product我會(huì)避免使用所有可能值的手冊。


reindex相反,人們可以獲得每天的唯一值:


u = df.pos.unique()


df.groupby('day').apply(lambda s: s.set_index('pos').reindex(u))['value']\

  .reset_index()

   day  pos  value

0    1    1    1.0

1    1   14    2.0

2    1   18    3.0

3    2    1    1.0

4    2   14    2.0

5    2   18    NaN

6    3    1    NaN

7    3   14    NaN

8    3   18    3.0


查看完整回答
反對 回復(fù) 2023-10-18
?
瀟湘沐

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

您可以reindex:


s = pd.MultiIndex.from_product([df["day"].unique(),df["pos"].unique()], names=["day","pos"])


print (df.set_index(["day","pos"]).reindex(s).reset_index())


   day  pos  value

0    1    1    1.0

1    1   14    2.0

2    1   18    3.0

3    2    1    1.0

4    2   14    2.0

5    2   18    NaN

6    3    1    NaN

7    3   14    NaN

8    3   18    3.0


查看完整回答
反對 回復(fù) 2023-10-18
?
江戶川亂折騰

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

您可以使用pyjanitor的完整函數(shù)來公開缺失的值:


您可以reindex:


s = pd.MultiIndex.from_product([df["day"].unique(),df["pos"].unique()], names=["day","pos"])


print (df.set_index(["day","pos"]).reindex(s).reset_index())


? ?day? pos? value

0? ? 1? ? 1? ? 1.0

1? ? 1? ?14? ? 2.0

2? ? 1? ?18? ? 3.0

3? ? 2? ? 1? ? 1.0

4? ? 2? ?14? ? 2.0

5? ? 2? ?18? ? NaN

6? ? 3? ? 1? ? NaN

7? ? 3? ?14? ? NaN

8? ? 3? ?18? ? 3.0


查看完整回答
反對 回復(fù) 2023-10-18
  • 4 回答
  • 0 關(guān)注
  • 185 瀏覽
慕課專欄
更多

添加回答

舉報(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)