【问题标题】:How to convert a list of a list to be columns in a dataframe with an index?如何将列表的列表转换为具有索引的数据框中的列?
【发布时间】:2019-10-31 21:10:21
【问题描述】:

所以基本上我有一个列表列表,例如:

a = [[1,2,3,4,5,6,7,8,9,10],
     [11,12,13,14,15,16,17,18,19,20]]

所以每个列表里面都有 10 个数字。例如,我有一个索引列表:

index = ['A','B','C','D','E','F','G','H','I','J']

我想创建一个 Python 数据框,其结构如下:

 A  1  11
 B  2  12
 C  3  13
 D  4  14 
 E  5  15
 F  6  16
 G  7  17 
 H  8  18
 I  9  19 
 J  10 20

基本上将 a 中的每个列表变成数据框中的一列。

我尝试了以下方法:

df = pd.DataFrame(columns = a, index = index)

它运行了,但列表没有变成列,而是它们仍然是行。有什么简单的方法吗?

【问题讨论】:

  • 仅供参考:python 2.7 位于 end of life
  • df = pd.concat([pd.DataFrame(x, index=index) for x in a], axis=1)

标签: python pandas python-2.7


【解决方案1】:
import pandas as pd
a = [[1,2,3,4,5,6,7,8,9,10],
     [11,12,13,14,15,16,17,18,19,20]]

index = ['A','B','C','D','E','F','G','H','I','J']

pd.DataFrame(a, columns=index).T

【讨论】:

    【解决方案2】:
    import pandas as pd
    a = [[1,2,3,4,5,6,7,8,9,10],
         [11,12,13,14,15,16,17,18,19,20]]
    
    index = ['A','B','C','D','E','F','G','H','I','J']
    
    data = {f'col_{i}': column for i, column in enumerate(a)}
    
    pd.DataFrame(data, index = index)
    

    将列表列表转换为字典,列名称为键,列表用作列值。将该字典传递给pd.DataFrame 函数以获得以下输出:

    col_0   col_1
    A   1   11
    B   2   12
    C   3   13
    D   4   14
    E   5   15
    F   6   16
    G   7   17
    H   8   18
    I   9   19
    J   10  20
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-02-14
      • 2021-10-29
      • 1970-01-01
      • 2016-12-17
      • 2022-01-07
      • 1970-01-01
      • 2021-01-14
      相关资源
      最近更新 更多