繁体   English   中英

按第一列中的相同值将数据中的列分组

[英]Grouping columns from data by same value in first column

因此,我试图找出一种对第一列中具有相同值的数据中的所有行进行分组的方法。

所以说我有:

col 1:     col 2:
0          3
0          4
0          5
1          9
1          10
2          7

我想使用一些基本的python或numpy来从col 1中读取该数据,并找到所有具有0的数据并将它们分组在列表中或某物中,然后将所有在col1中具有1的数据分组,等等。 。 等等..我能够弄清楚,如果数字只是在第1列中增加1,但是我的输入内容有任何类型的浮点数,因此并不可靠。

过去,在尝试避免for u in np.unique使用带遮罩的模板时for u in np.uniquefor u in np.unique pandas或itertools.groupby时,我都使用了它:

np.split(col2, np.where(np.diff(col1))[0]+1)

适用于col1 float:

col1 = np.sort(np.repeat(np.random.rand(4), np.random.randint(2,4,4)))
col2 = np.arange(len(col1))

col1
#array([ 0.39855008,  0.39855008,  0.84331316,  0.84331316,  0.94124952,
#        0.94124952,  0.94124952,  0.9480605 ,  0.9480605 ,  0.9480605 ])

np.split(col2, np.where(np.diff(col1))[0]+1)
#[array([0, 1]), array([2, 3]), array([4, 5, 6]), array([7, 8, 9])]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM