2016-06-08 46 views
0

因此,我们知道,如果我们有像我怎样才能组数据可根据特定的列值的范围

[ 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 
       ...] 
+0

可以修复它使用熊猫和numpy的似乎是在这里做的事。 – Evert

+0

@Evert我尝试,但我不能这样做 –

回答

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)]) 
+0

不错。从逻辑上说,你会把事情放在一个循环中,并创建“数据”。范围为键的字典(例如,元组“(20,30)”等)。但这就是你喜欢的东西。 – Evert

+0

请注意顺便说一句,你可以接受你自己的答案,因为它解决了你的问题(并且可以帮助未来的访问者)。 – Evert

+0

@Evert我是一个Python编程新手,请指教。 –

相关问题