Python 从特定列生成元组

Python 从特定列生成元组,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个熊猫数据框,例如 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 同样,如果我们选择第1、2、4列: [[1,2,4],[1,1,1]] 理想情况下,我希望避免行的迭代,因为它很慢 您可以选择以下列: In [11]: df[

我有一个熊猫数据框,例如

   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

同样,如果我们选择第1、2、4列:

[[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]]

注意:除非这是你的最终游戏,否则这永远都不是必要的。。。在pandas或numpy内部进行工作会更有效率。

所以我想出了方法

首先,我们选择要从中获取值的列:

 y = x[['one','two']]
这给了我们一个子集df

现在我们可以选择以下值:

> y.values

array([[1, 2],
       [1, 1]])

你想要一个元组列表还是列表列表?现在我需要元组列表,但将来我可能需要列表列表列表,所以那将是greatthanks@andy。我想知道哪种方法更好,下面是我自己的还是你的。看起来很像一个muchness@redrubiavalues属性是numpy的基础numpy数组,tolist将转换为您希望的列表列表。这真的取决于下一步是什么!否则这就是问题所在!