python - 通过拆分字符串和格式特定列来透视数据框
问题描述
我面临的问题超出了我的熊猫水平 - 但一旦我知道这些步骤,可能很简单。
我有一个列名如下的数据框,我想从每列的字符串中提取句点并将句点旋转到行,如下面的第二个示例所示。
我还想以不同的方式格式化每一列 - 目前它只是一个数字,但有些应该是 % 和一些数字,并带有一定数量的小数。我现在拥有的和我想要的概述如下。
我尝试了一些方法 - 使用字符串拆分方法创建多索引,然后旋转多索引。我觉得我走在正确的轨道上,但目前无法让它发挥作用。任何帮助表示赞赏。
我现在在数据框中拥有的东西
client_return_12m,client_return_36m,client_return_60m,client_sharpe_12m,client_sharpe_36m,client_sharpe_60m
0.34116,0.56439,0.701156,0.74320,0.82349,0.76889
后
period,client_return,client_sharpe
12m,34.1%,0.74
36m,56.4%,0.82
60m,70.1%,0.77
解决方案
str.rsplit
最后使用_
,然后重塑DataFrame.stack
:
df.columns = df.columns.str.rsplit('_', expand=True, n=1)
df = df.stack().reset_index(level=0, drop=True).rename_axis('period').reset_index()
print (df)
period client_return client_sharpe
0 12m 0.341160 0.74320
1 36m 0.564390 0.82349
2 60m 0.701156 0.76889
推荐阅读
- docker - Docker 容器说“无法在现有文件上安装卷,文件存在”,即使没有明确安装此类卷
- python-3.x - 将 django 模板更改为具有 bootstrap 或 css 或两者的 PDF 的方法
- amazon-web-services - AWS S3 生命周期策略删除文件夹中的对象,但文件夹已被删除
- android - 验证 Android Studio 北极狐更新时补丁文件可能会损坏
- java - 在等待下一步之前,我可以让 Spring 步骤在第一步中提交到 db 吗?
- laravel - 是否可以将 excel 数据导入 laravel REST API?
- javascript - VideoJS - 更改插件的属性
- java - 无法解析符号“@style/Base.AlertDialog.AppCompat”
- sql - Visual Studio 安装程序扩展输出
- python - 如何解决 python (pycharm) 中的错误请求?