python - 用对象的属性替换 Pandas 系列中的对象
问题描述
假设我们有一个 Foo 类:
Class Foo:
def __init__(self, name):
self.name = name
现在我有 2 个这样的对象:
foo1 = Foo("foo")
foo2 = Foo("bar")
现在我有一个熊猫系列:
series = pd.Series([foo1, foo2])
打印出这个给出:
0 <__main__.Foo object at 0x01500FB8>
1 <__main__.Foo object at 0x0151B118>
dtype: object
有没有办法用它的属性名称替换对象?
我想出的最好方法是将整个系列变成一个列表并为列表中的每个项目创建一个 Object:Object.name 字典,然后使用替换功能,但感觉应该有一种更简单的方法来完成这个。
我会很感激任何建议,谢谢。
解决方案
感谢使用“应用”的建议,我找到了以下解决方案:
series = series.apply(getattr, args=("name",))
推荐阅读
- node.js - 为什么在我检查登录身份验证后 req.session.user “未定义”
- javascript - 当我使用 supertest 向它发送 req 时,如何让 express 路由使用我的模拟模块而不是主要模块
- android - Android Studio 中的锚点视图 ID 是什么
- email - 消息=代码:ErrorInvalidUser 消息:请求的用户 '5f1fb9dd-2fc2-4f4d-8fa4-ebd144432b9e@eb0eeae1-e81a-4a23-a4e4-ca8688e0a18a' 无效
- python - 使用 pytorch 获取形状 (4, 1, 84, 84)
- php - 如何使用 codeigniter 动态创建列
- android - Unity Gradle 构建失败
- python-3.x - 如何从 Google Colab 中的 .yaml 文件中读取数据
- python - Python Dictionary 将数据写入 xls 文件
- python-3.x - Python - 网络摄像头视频捕获时打开 CV 错误