创建一个函数来在列上分解数据框
我已经编写了一些代码来在列上分解 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')
我确实收到以下错误:
名称错误:名称“beans”未定义
块引用
有人知道如何改进该功能以使其正常工作吗?
I have written some code to explode a df on a column.
df=df.assign(col=df['col'].str.split(',')).explode('col')
I now wanto make a function doing the same:
def explode(df,col_ind,col:str):
df=df.assign(col_ind=df[col].str.split(',')).explode(col)
return df
explode(df5,beans,'beans')
I do get the following error:
NameError: name 'beans' is not defined
Blockquote
Does someone know how to improve the function such that it works?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您调用未定义的
bean
变量。要从字符串定义 kwarg,您必须使用**
将其作为 kwarg 字典传递:You call a
bean
variable that isn't defined. To define a kwarg from a string, you have to pass it as a kwarg dictionary with**
: