pandas - 使用字典的 Pandas 跨列排名错误
问题描述
我曾经使用一段代码使用字典对每个类别中的列进行排名。但是使用新的 Pandas/Python3,我收到以下错误:
ValueError:传递值的形状为 (100, 4),索引暗示 (100, 100)
任何建议或帮助表示赞赏。
下面是代码:
import pandas as pd
import numpy as np
d = dict()
d ={'A': 'Health Care', 'AA': 'Materials', 'B': 'Health Care', 'BB': 'Materials'}
data = pd.DataFrame(np.random.rand(100,4), index=range(0,100), columns=d.keys() )
data.groupby(d , axis = "columns").rank(axis = "columns", pct=True)
解决方案
尽管我使用的是 Anaconda 3.6.4 和 Pandas 0.22.0,但我在我的机器上运行了该代码并且运行良好。可能是版本问题。这是正确的输出吗?
输出:
d = dict()
d ={'A': 'Health Care', 'AA': 'Materials', 'B': 'Health Care', 'BB': 'Materials'}
data = pd.DataFrame(np.random.rand(100,4), index=range(0,100), columns=d.keys() )
data.groupby(d , axis = "columns").rank(axis = "columns", pct=True)
A AA B BB
0.5 1.0 1.0 0.5
1.0 0.5 0.5 1.0
0.5 0.5 1.0 1.0
0.5 0.5 1.0 1.0
0.5 1.0 1.0 0.5
1.0 0.5 0.5 1.0
1.0 1.0 0.5 0.5
0.5 1.0 1.0 0.5
0.5 0.5 1.0 1.0
1.0 1.0 0.5 0.5
推荐阅读
- delphi - Delphi TValue.Make 从 RttiContext.FindType 与原始类型(整数,字符串,布尔)
- angular - 从订阅中可观察到
- angular - 点击角度隐藏和显示
- xcode8 - IB Designables 无法渲染和更新自动布局状态:dlopen(Cosmos.framework,1):找不到合适的图像
- extjs - ExtJS:类中的范围问题
- git - 将未签名的提交与 master 合并
- ibm-midrange - AS/400 上的 GeneXus 网格负载问题
- javascript - 正则表达式仅匹配 URL 中的字符串“img”(例如,不是标签名称)
- git - git fetch 非快进更新
- python - 哈希值的多次迭代对其自身