【问题标题】:Nested List to Pandas Dataframe with headers带有标题的 Pandas 数据框的嵌套列表
【发布时间】:2015-09-30 12:26:27
【问题描述】:

基本上我正在尝试做与How to generate a list from a pandas DataFrame with the column name and column values?相反的事情

借用那个例子,我想从表格中走出来:

data = [['Name','Rank','Complete'],
               ['one', 1, 1],
               ['two', 2, 1],
               ['three', 3, 1],
               ['four', 4, 1],
               ['five', 5, 1]]

应该输出:

 Name Rank Complete
  One    1        1
  Two    2        1
Three    3        1
 Four    4        1
 Five    5        1

但是当我做类似的事情时:

pd.DataFrame(data)

我得到一个数据框,其中第一个列表应该是我的列名,然后每个列表的第一个元素应该是行名

编辑:

为了澄清,我希望每个列表的第一个元素是行名。我正在报废数据,所以它是这样格式化的......

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    执行此操作的一种方法是将列名作为单独的列表,然后仅从pd.DataFrame 的第一个索引中给出 -

    In [8]: data = [['Name','Rank','Complete'],
       ...:                ['one', 1, 1],
       ...:                ['two', 2, 1],
       ...:                ['three', 3, 1],
       ...:                ['four', 4, 1],
       ...:                ['five', 5, 1]]
    
    In [10]: df = pd.DataFrame(data[1:],columns=data[0])
    
    In [11]: df
    Out[11]:
        Name  Rank  Complete
    0    one     1         1
    1    two     2         1
    2  three     3         1
    3   four     4         1
    4   five     5         1
    

    如果要将第一列Name 列设置为索引,请使用.set_index() 方法并发送用于索引的列。示例 -

    In [16]: df = pd.DataFrame(data[1:],columns=data[0]).set_index('Name')
    
    In [17]: df
    Out[17]:
           Rank  Complete
    Name
    one       1         1
    two       2         1
    three     3         1
    four      4         1
    five      5         1
    

    【讨论】:

    • 行名呢?
    猜你喜欢
    • 2023-03-19
    • 2020-05-10
    • 2018-04-17
    • 1970-01-01
    • 2022-12-19
    • 1970-01-01
    • 1970-01-01
    • 2020-08-02
    • 2017-12-31
    相关资源
    最近更新 更多