【问题标题】:How to combine several list and create dataframe pandas如何组合多个列表并创建数据框熊猫
【发布时间】:2017-05-22 08:34:44
【问题描述】:

我的列表包含以下内容:

[] [['a' 'b' 5] ['c' 'd' 2]] []

我不明白,如何将这几个列表合并到一个列表中并排除空列表。最后,我需要获得 3 列的数据框。

【问题讨论】:

  • 我不明白你在问什么。您的输入是两个列表吗?你希望你的输出是什么?

标签: python list dataframe


【解决方案1】:

你可以这样做-

from functools import reduce
nested_list = [[], ['a','b',5],['c', 'd', 2], []]
merged_list = reduce((lambda x, y:x+y), nested_list)

此解决方案适用于单层向下嵌套列表 ([[a,b,c],[x,y,z]])。
如果您可以提供要合并的列表类型,我可以为此提供解决方案。目前,我假设它只是一个向下嵌套的单层列表。

【讨论】:

    【解决方案2】:

    假设所需的输出如下所示:

    col1    col2           col3
    NaN     ['a' 'b' 5]    NaN
    NaN     ['c' 'd' 2]    NaN
    

    目前您手头有以下列表:

    >>>a_list
       [[], [['a' 'b' 5], ['c' 'd' 2]], []]
    

    然后您可以执行以下操作来创建DataFrame

    >>>import pandas as pd
    >>>import numpy as np
    >>>df = pd.DataFrame(columns=['col1','col2','col3'])
    >>>a_list = [[], [['a' 'b' 5], ['c' 'd' 2]], []]
    >>>for i in range(len(df.columns.tolist())):
    ...    try:
    ...        df[df.columns[i]] = a_list[i]
    ...    except:
    ...        df[df.columns[i]] = np.nan
    >>>df
      col1       col2 col3
    0  NaN  [a, b, 5]  NaN
    1  NaN  [c, d, 2]  NaN
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-12-28
      • 2020-05-30
      • 2019-07-01
      • 2016-10-31
      • 2023-01-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多