创建一个函数来分解列上的数据框
Create a function to explode dataframe on column
我写了一些代码来分解列上的 df。
df=df.assign(col=df['col'].str.split(',')).explode('col')
我现在想做一个函数做同样的事情:
def explode(df,col_ind,col:str):
df=df.assign(col_ind=df[col].str.split(',')).explode(col)
return df
explode(df5,beans,'beans')
我收到以下错误:
NameError: name 'beans' is not defined
Blockquote
有人知道如何改进该功能使其有效吗?
您调用了一个未定义的 bean
变量。要从字符串定义一个 kwarg,你必须将它作为一个 kwarg 字典传递给 **
:
def explode(df, col_ind, col:str):
df=df.assign(**{col_ind : df[col].str.split(',')}).explode(col)
return df
explode(df5, 'beans', 'beans')
我写了一些代码来分解列上的 df。
df=df.assign(col=df['col'].str.split(',')).explode('col')
我现在想做一个函数做同样的事情:
def explode(df,col_ind,col:str):
df=df.assign(col_ind=df[col].str.split(',')).explode(col)
return df
explode(df5,beans,'beans')
我收到以下错误:
NameError: name 'beans' is not defined
Blockquote
有人知道如何改进该功能使其有效吗?
您调用了一个未定义的 bean
变量。要从字符串定义一个 kwarg,你必须将它作为一个 kwarg 字典传递给 **
:
def explode(df, col_ind, col:str):
df=df.assign(**{col_ind : df[col].str.split(',')}).explode(col)
return df
explode(df5, 'beans', 'beans')