xuan_project 2022-04-22 19:51 采纳率: 100%
浏览 27
已结题

python dataframe数据分组 包含列表的数据怎么分组(如图)?

img

对category_code列按属性分组,但是属性存在一个列表里,不知道怎么拆开列表。

举个例子:
我的数据:
a b [a,b]
我想要的:
a b a
a b b

  • 写回答

1条回答 默认 最新

  • 夜半罟霖 2022-04-22 21:15
    关注

    我想了个办法,先求出这每个list元素的长度,再将所有的元素补齐到最大长度的大小,从而可以将其转为ndarray,再转换为dataframe和原始的dataframe合并,见下列代码:

    df=pd.DataFrame(np.array(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(np.array(a).T)
    Out[71]: 
            0  1  2
    0  [a, a]  1  4
    1     [b]  2  5
    2  [a, c]  3  6
    
    out
    Out[72]: 
       1  2 cat1 cat2
    0  1  4    a    a
    1  2  5    b  nan
    2  3  6    a    c
    

    不知道有没有解决你的问题,如果可以的话请点个采纳。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 5月4日
  • 已采纳回答 4月26日
  • 创建了问题 4月22日

悬赏问题

  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效