python - 如何根据类参数命名数据框列?
问题描述
在这方面花费大量时间。我有一个tuple
不可调用的classes
,全部命名SymbolInfo
的,具有相同的attribute
标签。让我们说:
In: print(my_tuple)
Out: (SymbolInfo(att_1=False, att_2=0, att_3=1.0),SymbolInfo(att_1=True, att_2=0, att_3=1.5))
我的目标是从中创建一个数据框tuple
。当我将其转换为 时list
,它工作正常:
df = pd.DataFrame(list(my_tuple))
我得到了数据框,但没有得到列标签,它应该是classes
attributes
: 的名称(即att_1
, att_2
, att_3
)。
属性名称及其数量(不是值)对所有classes
. 所以我可以考虑任何class
得到它。
我尝试过类似inspect.getmembers(my_tuple[0])
但inspect.getfullargspec(my_tuple[0]).args
没有成功的方法。以它们出现的相同顺序获取这些参数很重要。
解决方案
得到了这个解决方案:
my_dict = my_tuple[0]._asdict()
my_col_list = list(my_dict.keys())
推荐阅读
- sql - SQL检查表是否存在并截断
- c# - 如何使用表达式树调用带有 EventHandler 参数的方法?
- javascript - Knockout 扩展器导致 observable 在第一次通过时返回其默认值,无论输入如何
- swift - Swift 中的存储属性覆盖 - 私有与非私有
- javascript - 如何将 ngx-loading-bar 作为预加载器添加到 Angular 项目中
- r - 基于文本和R中记录的值迭代地重命名列名
- powershell - 如何在当前会话中以其他用户身份运行脚本
- codeigniter - 设置值不适用于 codeigniter 中的多个选择下拉菜单
- google-drive-api - 重定向到 localhost 后上传失败的 google api
- python - 如何让一段代码等待几秒钟