Pandas:sort/percentile 列类别中的每一行
Pandas: sort/percentile each row within column categories
我想知道是否有一种 eloquent 方法可以在 Pandas 数据框中跨列排序(计算百分位数),条件如下:
在每个类别中进行百分位计算。每列将属于一个类别,并且在每个类别中进行百分位计算(请参阅 link 以获取图形说明。)
我了解到我可以执行以下忽略类别的操作:
TargetRanking = StartingData.rank(axis="columns", pct=True)
但我需要按每一列的类别对每一行进行分组。请看下面link.
的图形说明
假设您有一个包含类别映射的字典,您可以简单地按该字典对列进行分组,然后像以前一样使用 rank
。
categories = {'X1': 'A', 'X3': 'A', 'X5': 'A', 'X2': 'B', 'X4': 'B'}
df.set_index('Date').groupby(categories, axis=1).rank(pct=True)
我想知道是否有一种 eloquent 方法可以在 Pandas 数据框中跨列排序(计算百分位数),条件如下:
在每个类别中进行百分位计算。每列将属于一个类别,并且在每个类别中进行百分位计算(请参阅 link 以获取图形说明。)
我了解到我可以执行以下忽略类别的操作:
TargetRanking = StartingData.rank(axis="columns", pct=True)
但我需要按每一列的类别对每一行进行分组。请看下面link.
的图形说明假设您有一个包含类别映射的字典,您可以简单地按该字典对列进行分组,然后像以前一样使用 rank
。
categories = {'X1': 'A', 'X3': 'A', 'X5': 'A', 'X2': 'B', 'X4': 'B'}
df.set_index('Date').groupby(categories, axis=1).rank(pct=True)