[英]Pandas DataFrame column values in to list
我有一個像下面這樣的pandas DataFrame
clusters
0 [4]
1 [9, 14, 16, 19]
2 [6, 7, 10, 17, 18, 20]
3 [1, 2, 3, 5, 8, 11, 12, 13, 15]
我需要分別只獲取集群列中的整數值。 如下所示(這可以是四個列表,不需要另一個DataFrame
)
0 4
1 9, 14, 16, 19
2 6, 7, 10, 17, 18, 20
3 1, 2, 3, 5, 8, 11, 12, 13, 15
我嘗試了不同的東西。 無法達到預期的產量。
In [36]: clustlist = list(firstclusters.clusters.values)
Out[36]:
[array([4]), array([ 9, 14, 16, 19]), array([ 6, 7, 10, 17, 18, 20]), array([ 1, 2, 3, 5, 8, 11, 12, 13, 15])]
In [37]: np.ravel(clustlist)
Out[37]:
[array([4]) array([ 9, 14, 16, 19]) array([ 6, 7, 10, 17, 18, 20])
array([ 1, 2, 3, 5, 8, 11, 12, 13, 15])]
In [38]: np.hstack(clustlist)
Out[38]:
[ 4 9 14 16 19 6 7 10 17 18 20 1 2 3 5 8 11 12 13 15]
如果每個項目只是一個列表,您可以使用tolist Series方法:
In [11]: df.clusters.tolist()
Out[11]: [[4], [9, 14, 16, 19], [6, 7, 10, 17, 18, 20], [1, 2, 3, 5, 8, 11, 12, 13, 15]]
或者,如果這些是numpy數組,您需要首先對每個項目應用tolist:
In [12]: df.clusters.apply(np.ndarray.tolist).tolist()
Out[12]: [[4], [9, 14, 16, 19], [6, 7, 10, 17, 18, 20], [1, 2, 3, 5, 8, 11, 12, 13, 15]]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.