Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将列表转换为数据帧列_Python_Pandas_List - Fatal编程技术网

Python 将列表转换为数据帧列

Python 将列表转换为数据帧列,python,pandas,list,Python,Pandas,List,我有名单 [[(1, 1, {(58091,)}, ('roma',))], [(11, 11, {(97042,)}, ('lecco',))], [(3, 3, {(97068,)}, ('pescate',))]] 我想将数据保存在4列中,如下所示 id one id two id place 1 1 58091 roma 11 11 97042 lecco 3 3 970

我有名单

[[(1, 1, {(58091,)}, ('roma',))], [(11, 11, {(97042,)}, ('lecco',))], [(3, 3, {(97068,)}, ('pescate',))]]
我想将数据保存在4列中,如下所示

id one   id two   id       place
1           1     58091     roma
11         11     97042     lecco
3           3     97068     pescate
我所做的

your_list = [[(1, 1, {(58091,)}, ('roma',))], [(11, 11, {(97042,)}, ('lecco',))], [(3, 3, {(97068,)}, ('pescate',))]]
df = DataFrame (your_list,columns=['id one','id two','id','place'])

但它不起作用我认为这是由于括号,但我不知道如何处理它们

使用此特定数据格式,您可以使用具有列表理解功能的自定义函数展平列表:

data = [[(1, 1, {(58091,)}, ('roma',))], [(11, 11, {(97042,)}, ('lecco',))], [(3, 3, {(97068,)}, ('pescate',))]]

def unnest(s):
    if isinstance(s, str) or isinstance(s, int):
        return s
    else:
        for i in s:
            return unnest(i)

print (pd.DataFrame([[unnest(z) for z in y] for x in data for y in x],
                    columns=['id one','id two','id','place']))

   id one  id two     id    place
0       1       1  58091     roma
1      11      11  97042    lecco
2       3       3  97068  pescate

从我所看到的情况来看,您的列表在我看来是不完整的:
{(58091,)},('roma',)
,为什么没有其他值时会有额外的
?我建议确保您的输入数据(
您的列表
)在将其转换为
pd.DataFrame
@Sujay之前,其格式正确。这是一个包含一个元素的元组。有任何关于如何清理数据输入的提示吗?非常有用,谢谢!