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

How can I group data based on range of values in specific column

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

这样的数据
[ 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
                 ...]

我现在可以修复它

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