Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/280.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 使用DataFrame中列表列的名称展开元组列_Python_Pandas - Fatal编程技术网

Python 使用DataFrame中列表列的名称展开元组列

Python 使用DataFrame中列表列的名称展开元组列,python,pandas,Python,Pandas,我有一个数据框,其中有一列元组值和一列列表cols: id值cols 0 62(阿尔法,)[等级] 122(α,x)[类别,风格] 298(测试版,无)[课堂,戏剧] 3.15(gaga,y,yes)[阶级,风格,戏剧] 473(x,)[风格] 5 39(是的,哦是的)[风格,戏剧] 6 76(嘿,)[wut] 我需要展开值,以便输出保持与原始数据帧相同的长度,但新列名遵循在cols列中看到的内容: id类风格戏剧wut 0 62阿尔法楠楠楠 1 22阿尔法x楠楠楠 298贝塔楠否楠 3 15

我有一个数据框,其中有一列元组
和一列列表
cols

id值cols
0 62(阿尔法,)[等级]
122(α,x)[类别,风格]
298(测试版,无)[课堂,戏剧]
3.15(gaga,y,yes)[阶级,风格,戏剧]
473(x,)[风格]
5 39(是的,哦是的)[风格,戏剧]
6 76(嘿,)[wut]
我需要展开
,以便输出保持与原始数据帧相同的长度,但新列名遵循在
cols
列中看到的内容:

id类风格戏剧wut
0 62阿尔法楠楠楠
1 22阿尔法x楠楠楠
298贝塔楠否楠
3 15 gaga y yes NaN
473楠x楠楠
5.39楠y哦是楠
6 76楠楠楠楠嗨

不借助于
iterrows
是否可以实现这一目标?

找到了一种方法,尽管它不是很像python,但如果有人能够改进它,请便:

#在每行上应用DataFrame.from_记录
ll=列表(
df.应用(λr:
pd.DataFrame.from_记录([r['values']],columns=r['cols'],
索引=[r.name]),轴=1)
ndf=pd.混凝土(ll)
merged=df.join(ndf.drop)(列=['values','cols'])