【问题标题】:How to convert tuple of tuples to pandas.DataFrame in Python?如何在 Python 中将元组的元组转换为 pandas.DataFrame?
【发布时间】:2016-02-15 12:00:00
【问题描述】:

没有冒犯,如果问题太基本。如果您需要更多信息,请告诉我。

我正在寻找一种想法,以干净/高效/pythonic 的方式将元组的方形元组转换为 pandas.DataFrame, 即来自

s =((1,0,0,0,),(2,3,0,0,),(4,5,6,0,),(7,8,9,10,))

pandas.DataFrame点赞

   1  2  3   4
1  1  0  0   0
2  2  3  0   0
3  4  5  6   0
4  7  8  9  10

自然地,这个列表可以在上三角中添加更多的零(如果我们将 s 视为行的元组)。

DataFrame(t) 似乎失败了。

【问题讨论】:

    标签: python python-3.x pandas data-structures tuples


    【解决方案1】:
    import pandas as pd
    
    s = ((1,0,0,0,),(2,3,0,0,),(4,5,6,0,),(7,8,9,10,))
    
    print pd.DataFrame(list(s))
    
    #    0  1  2   3
    # 0  1  0  0   0
    # 1  2  3  0   0
    # 2  4  5  6   0
    # 3  7  8  9  10
    
    print pd.DataFrame(list(s), columns=[1,2,3,4], index=[1,2,3,4])  
    
    #    1  2  3   4
    # 1  1  0  0   0
    # 2  2  3  0   0
    # 3  4  5  6   0
    # 4  7  8  9  10
    

    【讨论】:

      【解决方案2】:

      传递一个 list 元组而不是一个元组:

      In [13]: pd.DataFrame(list(s))
      Out[13]: 
         0  1  2   3
      0  1  0  0   0
      1  2  3  0   0
      2  4  5  6   0
      3  7  8  9  10
      

      data 是一个元组而不是一个列表时,pd.DataFrame(data) 遵循不同的代码路径。

      熊猫开发者Jeff Reback explains:

      list-of-tuples 是指定的类型,tuple-of-tuple 是不允许的,因为我认为它可以表示需要更多解析的嵌套类型。

      【讨论】:

      • 我有这个:pd.DataFrame(json.loads(json.dumps(s))) 但你的更干净
      猜你喜欢
      • 2017-07-30
      • 1970-01-01
      • 1970-01-01
      • 2015-12-25
      • 2016-01-25
      • 2019-05-15
      • 1970-01-01
      • 2021-05-24
      • 1970-01-01
      相关资源
      最近更新 更多