python - 如何使用 apply 将列作为参数传递给类
问题描述
class Movie:
def __init__(self, title, imdb, critic, quote):
self.title = title
self.imdb = imdb
self.critic = critic
self.quote = quote
def mashup(self):
x =self.title + self.imdb + self.critic + self.quote
return self.x
df['concat'] = df.apply(Movie,axis=1)
我希望看到的结果是将每一列连接为数据框中的新列。
问题是 Movie 没有收到预期数量的参数,我没有调用 mashup 方法,但不确定出了什么问题。
TypeError: ("__init__() missing 3 required positional arguments: 'imdb', 'critic', and 'quote'", 'occurred at index 0')
解决方案
你为什么要使用类来做到这一点?如果您的数据在 pandas 数据框中,您可以简单地执行以下操作:
df['concat'] = df['title'] + df['imdb'] + df['critic'] + df['quote']
推荐阅读
- r - 在ggplot2中,您可以将直方图y轴的默认频率值更改为其他值吗?
- reactjs - 任何人都知道为什么我会收到“快照侦听器中未捕获的错误:FirebaseError:缺少权限或权限不足”吗?
- python - Jupyter 没有显示完整的字典内容
- php - 如何在 laravel 中更新注册用户的编辑记录
- python-3.x - 使用另一个多索引数据框的单元格值创建熊猫列
- swift - 隐藏关闭视图后单击十字按钮后如何调整详细信息视图的大小?
- sql-server - T-SQL 窗口函数 - 计算历史
- sql-server - T-SQL 存储过程输出参数
- mongodb - 如何将 AWS EKS 的 pod 连接到 EC2 中的 MongoDB 等外部数据库?
- python - 减少 python 测试阶段的管道执行时间