Python:基于条件的Column的组输出

时间:2018-03-22 08:46:43

标签: python pandas numpy

#code source
import numpy as np
import pandas as pd
from sklearn.datasets import make_classification


X, y = make_classification(n_samples=50,
                           n_features=6,
                           n_informative=3,
                           n_classes=2,
                           random_state=10,
                           shuffle=True)

# Creating a dataFrame
df = pd.DataFrame({'Feature 1':X[:,0],
                                  'Feature 2':X[:,1],
                                  'Feature 3':X[:,2],
                                  'Feature 4':X[:,3],
                                  'Feature 5':X[:,4],
                                  'Feature 6':X[:,5],
                                  'Class':y})


values = [i for i,x in enumerate(df['Class']) if x == 0]
print(values)

输出

  

[5,6,9,11,13,14,17,18,20,21,23,24,25,26,27,31,32,34,   41,42,44,45,46,47,49]

我正在尝试根据数字来自并发值的条件对上述输出进行分组。如输出应该是:

  

第1组:5,6

     

第2组:9

     

第3组:11

     

第4组:13,14

     

...

     

...

     

组n:23,24,25,26,27

我正在对它们进行分组,以便了解列中的间隙,而不是在列表中彼此跟随值。

1 个答案:

答案 0 :(得分:0)

我认为需要Series,按diff获取差异,按gt进行比较,最后按cumsum创建分组到新Series,用作{ {1}} by的参数:

groupby