在 df_input['Visit' ] 列中,我想提取三個不同的時間點并將其列印到新的資料幀(df_output)中。時間點是 Pre、Post 和 Screening。


我基本上想制作一個 for 回圈(或只是一個代碼鏈),說明:
如果 data_input['Visit'] 包含單詞“Pre”,則在 df_output['VISIT'] 中列印“Pre” elif data_input['Visit'] 包含單詞“Post”,在 df_output['VISIT'] 中列印“Post” else data_input['Visit'] 包含單詞“Screening”,在 df_output['VISIT'] 中列印“Screening”
我只是不確定這樣做的正確方法。
到目前為止,我唯一擁有的就是這行代碼:
df_output['VISIT'] = df_input[df_input['Visit'].str.contains('Pr|Po|Sc'))
給出錯誤訊息“列必須與鍵的長度相同”
我也嘗試過:df_output['VISIT'] = df_input['Visit '].str.contains('Pr|Po|Sc'),它將 True 或 False 列印到我的輸出資料框中。
uj5u.com熱心網友回復:
你可以使用 np.select
import numpy
df_output['VISIT'] = np.select( [df_input['Visit'].str.contain('Pr'), # condition #1
df_input['Visit'].str.contain('Po'), # condition #2
df_input['Visit'].str.contain('Sc')], # condition #3
['Pre','Post','Screening'], # corresponding value when true
'')# default value
uj5u.com熱心網友回復:
df_output['VISIT'] = df_input['Visit'].apply(lambda x: 'Pre' if x.str.contains('Pre') else 'Post' if x.str.contains('Post') else 'Screening' if x.str.contains('Screening') else "")
您必須先創建 df_ouput。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/524462.html
上一篇:如何將cout存盤在字串中,然后將字串輸出到控制臺?
下一篇:Java列印“?”而不是東西
