假設我有以下 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函數。有沒有辦法將這兩行代碼結合起來?
添加回答
舉報
0/150
提交
取消