簡體   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