我有一个熊猫数据框,例如从特定熊猫列制作元组
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