我有一個熊貓數據框,例如從特定熊貓列製作元組
one two three four five
0 1 2 3 4 5
1 1 1 1 1 1
我想什麼是能夠僅列的選擇數轉換到一個列表,這樣我們得到:
[[1,2],[1,1]]
這是第0,1行,我們在哪裏選擇第一和第二列。
同樣,如果我們選擇了兩個,四列之一:
[[1,2,4],[1,1,1]]
理想我想避免行的迭代,因爲它是慢!
我有一個熊貓數據框,例如從特定熊貓列製作元組
one two three four five
0 1 2 3 4 5
1 1 1 1 1 1
我想什麼是能夠僅列的選擇數轉換到一個列表,這樣我們得到:
[[1,2],[1,1]]
這是第0,1行,我們在哪裏選擇第一和第二列。
同樣,如果我們選擇了兩個,四列之一:
[[1,2,4],[1,1,1]]
理想我想避免行的迭代,因爲它是慢!
您可以只選擇那些列:
In [11]: df[['one', 'two']]
Out[11]:
one two
0 1 2
1 1 1
,並使用tolist從底層numpy的陣列獲取列表清單:
In [12]: df[['one', 'two']].values.tolist()
Out[12]: [[1, 2], [1, 1]]
In [13]: df[['one', 'two', 'four']].values.tolist()
Out[13]: [[1, 2, 4], [1, 1, 1]]
注:這應該從未真正是必要的,除非這是你的終極遊戲......在熊貓或numpy裏面做工作會更有效率。
tahnks @andy我不知道哪種方法更好,我自己的下面或你的。看起來好像很多 – redrubia
@redrubia values屬性是numpy的底層numpy數組,tolist *將*轉換爲您希望的列表列表。這真的取決於下一步是什麼!否則,這是[XY問題](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)! –
所以我研究瞭如何去做。
首先,我們選擇列,我們希望從值:
y = x[['one','two']]
這給了我們一個子集DF。
現在,我們可以選擇的值:
> y.values
array([[1, 2],
[1, 1]])
你想一個元組列表或列表的列表? – Drewness
現在我需要元組,但在將來我可能需要列表的列表,所以這將是偉大的 – redrubia