这是我的代码:
for col in df:
if col.startswith('event'):
df[col].fillna(0, inplace=True)
df[col] = df[col].map(lambda x: re.sub("\D","",str(x)))
Run Code Online (Sandbox Code Playgroud)
我有 0 到 10 个事件列“event_0,event_1,...”当我用此代码填充 nan 时,它将所有事件列下的所有 nan 单元格填充为 0,但它不会更改 event_0,它是该选择的第一列,并且它也由nan填充。
我使用以下代码从“事件”列创建了这些列:
event_seperator = lambda x: pd.Series([i for i in
str(x).strip().split('\n')]).add_prefix('event_')
df_events = df['events'].apply(event_seperator)
df = pd.concat([df.drop(columns=['events']), df_events], axis=1)
Run Code Online (Sandbox Code Playgroud)

请告诉我出了什么问题?您可以在图片中看到更改之前的数据框。