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

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

根據(jù)列中的值刪除行中的值,然后在 Pandas 中將單元格拆分為多行

根據(jù)列中的值刪除行中的值,然后在 Pandas 中將單元格拆分為多行

哈士奇WWW 2021-09-01 14:48:02
當(dāng)系統(tǒng)出現(xiàn)在“類型”列中時(shí),我想刪除該行中的所有值,“名稱”列中的值除外。當(dāng)硬件出現(xiàn)在“類型”列中時(shí),我想刪除該行中除“顏色”列中的值之外的所有值。之后,我想將“文本”列中非空的所有單元格拆分為多行,并保留該列中為空的行。這是我擁有的數(shù)據(jù)框:df  Type        Text                             Name        ID        Color  System      aca\nmaca\nstream\nphase\n       Gary        123       Red  System      aca\nmaca\nstream\nphase\n       Mary        3254      Yellow  Hardware    a\nmaca\nstream\nphase\n         Jerry       158       White  Software    ca\nmaca\nstream\nphase\n        Perry       56414     Green  Software    aca\nmac\nstream\nphase\n        Jimmy       548       Blue  System      aca\nmaca\nstream\nphase\n       Marc        5658      Black  System      aca\nmaca\nstram\npha\n          John        867       Pink  Hardware    aca\nma\nstream\nphase\n         Sam         665       Gray  Hardware    aca\nmaca\nstream\nphase\n       Jury        5784      Azure  System      aca\nmaca\nstream\nphase\n       Larry       5589      Fawn  Software    aca\nmaca\nst\nphase\n           James       6568      Magenta  System      aca\nmaca\nstream\nph\n          Kevin       568       Cyan這是所需的結(jié)果:  Type        Text                             Name        ID        Color  System                                       Gary          System                                       Mary          Hardware                                                           White  Software    ca                               Perry       56414     Green  Software    maca                             Perry       56414     Green  Software    stream                           Perry       56414     Green  Software    phase                            Perry       56414     Green對(duì)于將單元格拆分為多行,我嘗試了此功能:  def SepInRows(df, c):      s = df[c].str.split('\n', expand=True).stack()      i = s.index.get_level_values(0)      df2 = df.loc[i].copy()      df2[c] = s.values      return df2  但它會(huì)在“文本”列中刪除具有空值的行,這不是我想要的。如何解決這個(gè)問(wèn)題?
查看完整描述

1 回答

?
慕碼人8056858

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

您可以在預(yù)處理中使用maskwith difference,然后使用此解決方案:


c1 = df.columns.difference(['Type','Name'])

c2 = df.columns.difference(['Type','Color'])


df[c1] = df[c1].mask(df['Type'] == 'System', np.nan)

df[c2] = df[c2].mask(df['Type'] == 'Hardware', np.nan)

cols = df.columns

df1 = (df.join(df.pop('Text').str.split('\n', expand=True)

              .stack()

              .reset_index(level=1, drop=True)

              .rename('Text'))

              ).reset_index(drop=True).reindex(columns=cols)


print (df1)

        Type    Text   Name       ID    Color

0     System     NaN   Gary      NaN      NaN

1     System     NaN   Mary      NaN      NaN

2   Hardware     NaN    NaN      NaN    White

3   Software      ca  Perry  56414.0    Green

4   Software    maca  Perry  56414.0    Green

5   Software  stream  Perry  56414.0    Green

6   Software   phase  Perry  56414.0    Green

7   Software          Perry  56414.0    Green

8   Software     aca  Jimmy    548.0     Blue

9   Software     mac  Jimmy    548.0     Blue

10  Software  stream  Jimmy    548.0     Blue

11  Software   phase  Jimmy    548.0     Blue

12  Software          Jimmy    548.0     Blue

13    System     NaN   Marc      NaN      NaN

14    System     NaN   John      NaN      NaN

15  Hardware     NaN    NaN      NaN     Gray

16  Hardware     NaN    NaN      NaN    Azure

17    System     NaN  Larry      NaN      NaN

18  Software     aca  James   6568.0  Magenta

19  Software    maca  James   6568.0  Magenta

20  Software      st  James   6568.0  Magenta

21  Software   phase  James   6568.0  Magenta

22  Software          James   6568.0  Magenta

23    System     NaN  Kevin      NaN      NaN


查看完整回答
反對(duì) 回復(fù) 2021-09-01
  • 1 回答
  • 0 關(guān)注
  • 208 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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