【问题标题】:How to convert list to row dataframe with Pandas如何使用 Pandas 将列表转换为行数据框
【发布时间】:2017-07-01 08:50:55
【问题描述】:

我有一个这样的项目列表:

A = ['1', 'd', 'p', 'bab', '']

我的目标是将此类列表转换为 1 行 5 列的数据框。如果我输入 pd.DataFrame(A) 我会得到 5 行和 1 列。我应该怎么做才能得到我想要的结果?

【问题讨论】:

    标签: python list pandas dataframe row


    【解决方案1】:

    你可以使用:

    df = pd.DataFrame([A])
    print (df)
       0  1  2    3 4
    0  1  d  p  bab  
    

    如果所有值都是字符串:

    df = pd.DataFrame(np.array(A).reshape(-1,len(A)))
    print (df)
    
       0  1  2    3 4
    0  1  d  p  bab  
    

    谢谢AKS:

    df = pd.DataFrame(A).T
    print (df)
       0  1  2    3 4
    0  1  d  p  bab  
    

    【讨论】:

    • pd.DataFrame(A).T 呢?
    • pd.DataFrame([A]) 将列表转换为系列,而不是一行。
    【解决方案2】:

    这对于您的特定问题来说有些外围,但我想我会发布它以防它帮助其他人。

    要转换列表列表(并为每列命名),只需在实例化新数据框时将列表传递给 data 属性(连同所需的列名称),如下所示:

    my_python_list = [['foo1', 'bar1'],
                      ['foo2', 'bar2']]
    new_df = pd.DataFrame(columns=['my_column_name_1', 'my_column_name_2'], data=my_python_list)
    

    结果:

      my_column_name_1 my_column_name_2
    0             foo1             bar1
    1             foo2             bar2
    

    【讨论】:

      猜你喜欢
      • 2017-06-22
      • 2021-03-22
      • 1970-01-01
      • 2020-09-02
      • 2021-01-22
      • 2021-02-09
      • 1970-01-01
      • 2018-03-25
      • 1970-01-01
      相关资源
      最近更新 更多