网络编程
位置:首页>> 网络编程>> Python编程>> Python中Dataframe元素为不定长list时的拆分分组

Python中Dataframe元素为不定长list时的拆分分组

作者:夜半罟霖  发布时间:2023-11-08 04:16:30 

标签:Dataframe,不定长list,拆分

引言

本文想要解决的问题是当DataFrame中某一列元素为不定长度的数组时,该如何对它们进行拆分分解为后续元素,从而进行进一步的提取操作,数据格式见下图:

Python中Dataframe元素为不定长list时的拆分分组

解决方法

 这个问题的解决思路首先是要不定长的数组填充成等长的数组,从而后续可以直接转换为元素为单一值的标准DataFrame,再和原DataFrame合并即可完成操作。填充的部分使用了map()方法来实现,实现前还需要获得数组的最大长度以确定填充数目。代码见下:

a=[[['a','d'],['b'],['a','c']],[1,2,3],[4,5,6]]
df=pd.DataFrame(a).T
used_col=df[0]
length=used_col.map(lambda x:len(x))
max_l=length.max()
temp=used_col.map(lambda x:x+[np.nan]*(max_l-len(x)))
temp=np.array(temp.to_list())
temp=pd.DataFrame(temp)
df=df.drop(0,axis=1)
temp.columns=['cat1','cat2']
output=df.join(temp)

结果展示:

pd.DataFrame(a).T
Out[13]: 
        0  1  2
0  [a, d]  1  4
1     [b]  2  5
2  [a, c]  3  6
output
Out[14]: 
   1  2 cat1 cat2
0  1  4    a    d
1  2  5    b  nan
2  3  6    a    c

来源:https://blog.csdn.net/Dr_maker/article/details/124359624

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com