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

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

熊貓將列中的字符串拆分為多條記錄

熊貓將列中的字符串拆分為多條記錄

ibeautiful 2022-01-11 20:20:35
我有一個數(shù)據(jù)框 dfcol1   col2  col3a;b;c  w;x     1d;e;f  x;y     2g;h;i  z;u;v   3我想每一個字符串分割列col1,并col2為單獨的記錄,使數(shù)據(jù)幀看起來是這樣的col1    col2    col3a       w       1b       x       1c       NaN     1d       x       2e       y       2f       NaN     2g       z       3h       u       3i       v       3
查看完整描述

1 回答

?
呼喚遠(yuǎn)方

TA貢獻(xiàn)1856條經(jīng)驗 獲得超11個贊

嘗試組合Series.str.split, Series.stack, Series.rename, pandas.concat,DataFrame.assign和DataFrame.reset_index這樣的:


例子

df = pd.DataFrame([{'col1': 'a;b;c', 'col2': 'w;x', 'col3': 1}, {'col1': 'd;e;f', 'col2': 'x;y', 'col3': 2}, {'col1': 'g;h;i', 'col2': 'z;u;v', 'col3': 3}, {'col1': '1,2,3', 'col2': '2', 'col3': 4}])


print(df)


#     col1   col2  col3

# 0  a;b;c    w;x     1

# 1  d;e;f    x;y     2

# 2  g;h;i  z;u;v     3

# 3  1,2,3      2     4


df_new = (pd.concat([df[x].str.split('[;,]', expand=True).stack().rename(x)

                     for x in df[['col1', 'col2']]], axis=1)

          .reset_index(level=1, drop=True)

          .assign(col3=df.col3))


print(df_new)


  col1 col2  col3

0    a    w     1

0    b    x     1

0    c  NaN     1

1    d    x     2

1    e    y     2

1    f  NaN     2

2    g    z     3

2    h    u     3

2    i    v     3

3    1    2     4

3    2  NaN     4

3    3  NaN     4


查看完整回答
反對 回復(fù) 2022-01-11
  • 1 回答
  • 0 關(guān)注
  • 173 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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