代码之家  ›  专栏  ›  技术社区  ›  lsr729

无法生成所需的熊猫数据帧

  •  1
  • lsr729  · 技术社区  · 5 年前

    这个问题已经有了答案:

    我正在尝试使用两个参数作为列来生成pandas数据帧。但它使我需要的数据帧转置。 我有 a b 列参数如下:

    a=[1,2,3,4,5]
    b=[11,22,33,44,55]
    
    pd.DataFrame([a,b])
    

    这将提供以下数据帧:

    
        0   1   2   3   4 
    0   1   2   3   4   5
    1   11  22  33  44  55
    

    但是,我希望数据帧为:

        0   1 
    0   1   11
    1   2   22
    2   3   33
    3   4   44
    4   5   55
    
    2 回复  |  直到 5 年前
        1
  •  2
  •   jezrael    5 年前

    一种解决方案是通过 DataFrame.T 以下内容:

    df = pd.DataFrame([a,b]).T
    

    或使用 zip 以下内容:

    df = pd.DataFrame(list(zip(a, b)))
    #pandas 0.24+
    #df = pd.DataFrame(zip(a, b))
    

    print (df)
       0   1
    0  1  11
    1  2  22
    2  3  33
    3  4  44
    4  5  55
    

    也可以按字典指定列名:

    df = pd.DataFrame({'a':a, 'b':b})
    print (df)
       a   b
    0  1  11
    1  2  22
    2  3  33
    3  4  44
    4  5  55
    
        2
  •  2
  •   Zinnia Razia    5 年前

    数据帧具有转置功能。属性t是方法transpose()的访问器

    pd.DataFrame([a,b]).T
    

    pd.DataFrame([a,b]).transpose()