【问题标题】:How to convert Pandas data frame into 2 D array [duplicate]如何将 Pandas 数据框转换为二维数组 [重复]
【发布时间】:2019-10-19 15:59:43
【问题描述】:

我有一个熊猫数据框

    X =

      id                   var1  var2
 0   20000049588638         3    61.62
 1   100798486386           3    61.62
 2   100799238114           3    61.62

我想将其转换为简单的二维数组,以便将其写入 Teradata 数据库

所需输出

    X =   
    [(20000049588638,3,61.62),
    (100798486386,3,61.62), 
    (100799238114,3,61.62)]

我试过了:

    X = X.values.tolist()

但是,我得到以下输出:

    [[20000049588638, '3', '61.62'],
    [100798486386, '3', '61.62'],
    [100799238114, '3', '61.62']]

我无法写入数据库。

请检查一下。

【问题讨论】:

  • 你也可以使用:df.apply(tuple,axis=1).to_numpy()

标签: python arrays pandas numpy teradata


【解决方案1】:

this questions 中所述,您可以使用itertuples(),然后将其包含在一个列表中。

list(X.itertuples(index=False, name=None))

【讨论】:

  • 我猜你应该将问题标记为重复,而不是写答案。
  • 在看到你标记之前我已经写好了答案。一旦你这样做了,我就投了赞成票,我还添加了问题的链接。 :)
  • 谢谢@razdi。但是,它给了我以下错误输出: [Pandas(id=20000049588638, var1='3', var2='61.62'), Pandas(id=100798486386, var1='3', var2='61.62'), Pandas( id=100799238114, var1='3', var2='61.62'),]
  • 那是因为它们被命名为元组。我已经编辑了答案,应该给你普通的元组。您还应该查看重复的问题,因为它有更多的见解/答案
猜你喜欢
  • 1970-01-01
  • 2021-09-25
  • 2021-01-12
  • 1970-01-01
  • 2020-09-10
  • 2014-04-23
  • 2019-04-28
  • 2013-01-27
  • 1970-01-01
相关资源
最近更新 更多