亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

從 pandas DataFrame 條目中刪除不必要的字符

從 pandas DataFrame 條目中刪除不必要的字符

慕森卡 2023-02-22 16:22:48
假設我有以下 DataFrame:df = pd.DataFrame([['x (xyz)', 'y [abc]'],['a (xyz)', 'b [bca]'],['xa (zyx)', 'yb [cab]']])我想要以下輸出:    0   10   x   y1   a   b2   xa  yb目前,我正在使用以下代碼進行操作:df.iloc[:,0] = df.iloc[:,0].str.replace(r'\(.*\)','')df.iloc[:,1] = df.iloc[:,1].str.replace(r'\[.*\]','')有沒有辦法簡化它?由于在每個單元格中,我都試圖刪除(or之后的所有字符[,有沒有辦法.join在一行中使用和編寫它?我只是問,因為如果我有 100 個列需要進行類似的清理,那么我現在所做的方式將變得非常乏味。編輯:我剛剛意識到,df.iloc[:,0]=df.iloc[:,0].apply(lambda x: x[:x.find(' (')])df.iloc[:,1]=df.iloc[:,1].apply(lambda x: x[:x.find(' [')])也會工作。但是,我也不知道如何編寫單個apply函數。有沒有辦法將這兩行代碼結合起來?
查看完整描述

1 回答

?
撒科打諢

TA貢獻1934條經驗 獲得超2個贊

你可以使用:


df.replace(r'\s\(.*\)|\s\[.*\]','', regex=True)


    0   1

0   x   y

1   a   b

2  xa  yb



查看完整回答
反對 回復 2023-02-22
  • 1 回答
  • 0 關注
  • 160 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號