【发布时间】:2013-10-15 09:46:41
【问题描述】:
如果我使用pandas.cut 生成像[0.3, 0.5), ... 这样的bin 标签,我如何根据这些bin 按升序对数据帧进行排序?例如。 [-0.4, -0.2) 应该在[-0.2, 0.0) 之前,等等。例如:
df = pandas.DataFrame({"a": np.random.randn(10)})
# bin according to cut
df["bins"] = pandas.cut(df.a, np.linspace(-2,2,6))
现在如何根据cut(df["bins"] 列)生成的标签对 df 进行排序?
【问题讨论】:
-
您能不能先对“a”列进行排序?然后
df.sort(columns=['a'],inplace=True) df["bins"] = pd.cut(df.a, np.linspace(-2,2,6))将在为新的“bins”列应用剪切之前订购它 -
或者你可以在应用
cut之后对 'a' 进行排序会达到同样的效果