gpt4 book ai didi

python - 在 Pandas 数据框中确定一个值所在的分位数

转载 作者:行者123 更新时间:2023-11-28 17:37:37 27 4
gpt4 key购买 nike

我有一个包含几列的 Pandas 数据框。对于每一列,我想计算某些百分位数。然后我想用每个观察值所在的百分位数替换我的数据框。

import pandas as pd
M = np.random.uniform(0, 100, (10, 6))
df = pd.DataFrame(M, columns=['c%i'%i for i in range(6)])

>>> df[:2]
c0 c1 c2 c3 c4 c5
0 24.883165 2.299054 11.002427 98.711018 39.042343 50.408190
1 42.099085 78.028507 25.099002 39.099628 38.687483 15.794404

df.quantile([.1, .5, .9])

c0 c1 c2 c3 c4 c5
0.1 21.418274 7.094343 10.904711 25.014356 15.958873 21.984237
0.5 41.793102 36.973471 29.031637 64.246471 41.136274 42.408574
0.9 75.724554 62.274133 86.604768 93.690257 73.757992 89.365606

例如,在第 0 行中,c0=24.883。最大的 c0 分位数 q_c0,其中 24.883<=q_c0 为 0.5。在我的新数据框中,我想用 0.5 替换 24.883。

最佳答案

如何使用qcut():

import pandas as pd
import numpy as np
M = np.random.uniform(0, 100, (10, 6))
df = pd.DataFrame(M, columns=['c%i'%i for i in range(6)])

bins = [0.0, 0.1, 0.5, 0.9, 1.0]
df.apply(lambda s:pd.qcut(s, bins, bins[1:]).astype(float))

关于python - 在 Pandas 数据框中确定一个值所在的分位数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28821520/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com