如何根据特定列中的值范围对数据进行分组

时间:2016-06-08 09:59:08

标签: python-2.7 append range grouping multiple-columns

所以我们知道,如果我们有像

这样的数据
[ 2,4,5,8,34,75,23,79,23, ...]

我们可以使用

for i in data:
    if 0 < i < 20:
        data_0_20.append(i)

如果我想从特定列中的值分组,如

,该怎么办?
df = [ id, v1, v2, v3
        1, 12, 32, 23
        2, 65, 45, 22
        3, 55, 34, 76
        4, 33, 53, 21
        5, 34, 87, 19
        6, 23, 56, 35
         ...]

我想基于V3列进行分组,我可以使用哪些代码?

我想要这样的结果

data_20_30 = [ id, v1, v2, v3
                1, 12, 32, 23
                2, 65, 45, 22
                4, 33, 53, 21
                 ...]

data_30_40 = [ id, v1, v2, v3
                6, 23, 56, 35
                 ...]

1 个答案:

答案 0 :(得分:0)

我现在可以解决它

df = pd.Dataframe(df)
data_20_30= (df[(20 < df.v3) & (df.v3 <= 30 )])
data_30_40= (df[(30 < df.v3) & (df.v3 <= 40 )])