我的列表中包含以下内容:
[] [['a' 'b' 5] ['c' 'd' 2]] []
我不明白,如何将这几个列表合并到一个列表中并排除空列表。最后,我需要获得3列数据框。
答案 0 :(得分:0)
你可以这样做 -
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]]
)。
如果您可以提供要合并的列表类型,我可以为此提供解决方案。现在,我假设它只是一个单级的嵌套列表。
答案 1 :(得分:0)
假设所需的输出将如下所示:
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