是否可以在数据框中创建一个新列,其中“X”的容器基于另一列的值。下面的例子。
AR1、PO1 和 RU1 的容器彼此不同。
到目前为止,我只能获取“X”中所有值的容器。
import pandas as pd
import numpy as np
import string
import random
N = 100
J = [2012,2013,2014]
K = ['A','B','C','D','E','F','G','H']
L = ['h','d','a']
S = ['AR1','PO1','RU1']
np.random.seed(0)
df = pd.DataFrame(
{'X': np.random.uniform(1,10,N),
'Y': np.random.uniform(1,10,N),
'J':np.random.choice(J, N),
'R':np.random.choice(L, N),
'S':np.random.choice(S,N)
})
df['bins_X'] = pd.qcut(df['X'], 10)
print(df.head())
我想要的输出:
EDIT;
在我的真实数据上,我得到一个 ValueError:边缘不唯一。我可以用即排名来解决这个问题吗?我如何将其添加到建议的解决方案中?