【问题标题】:Return values from nested lists into PandasDataFrame从嵌套列表返回值到 Pandas DataFrame
【发布时间】:2020-10-14 16:57:02
【问题描述】:

我有一个包含 2 个列表的列表,如下所示:

[[0.0, 0.0, 0.0], [0.0, 0.0, 0.0]]

一天结束时,我需要在 PandasDataFrame 中有 2 列,第一列应包含第一个列表中的值,第二列应包含第二个列表中的值。

我想遍历每个列表并将其中的每个值返回到 PandasDataFrame 中的单独列中。 PandasDataFrame 中的 col0 应该保存第一个列表中的值,而 PandasDataFrame 中的 col1 应该保存第二个列表中的值。

我期待这样的输出:

有没有一种简洁的方法可以做到这一点?

谢谢。

【问题讨论】:

  • 你可以添加一些样本输入和预期输出以获得精确的解决方案
  • 你能检查修改@Sushanth
  • 你试过pd.DataFrame(yourList).T 吗?

标签: python pandas list dataframe list-comprehension


【解决方案1】:

一种方法是使用transpose:

df = pd.DataFrame(yourList).T

如果你想改变你可以添加的列名

df = df.add_prefix('col')

【讨论】:

    【解决方案2】:

    执行此操作的一种简单方法是将列表转换为字典,然后从该字典创建数据框,如下所述:

    l =[[0.0, 0.0, 0.0], [0.0, 0.0, 0.0]]
    
    # Creating a dictionary using dictionary comprehension
    d = {'col'+str(i) : l[i] for i in range(len(l))}
    
    df = pd.DataFrame(d)
    

    【讨论】:

      【解决方案3】:

      由于您的列表是按行而不是按列排列的,因此我将首先按原样构建数据框,然后对其进行转置:

      data = [[0, 0, 0, 0,], [1, 1, 1, 1,]]
      columns = ['a', 'b', 'c', 'd']
      df = pd.DataFrame(data, columns=columns)
      df = df.transpose()
      

      【讨论】:

        猜你喜欢
        • 2017-12-26
        • 2019-06-27
        • 2018-11-01
        • 2016-12-01
        • 2019-01-28
        • 2016-07-24
        • 1970-01-01
        • 1970-01-01
        • 2022-01-01
        相关资源
        最近更新 更多