pandas 分列成行,pandas 拼接多行

  pandas 分列成行,pandas 拼接多行

  本文主要介绍熊猫把一条线拆成多条线的方式,有很好的参考价值。希望对你有帮助。如有错误或不足之处,请不吝赐教。

  00-1010将一行拆分成多行。1.按某列拆分。2.将一行拆分成多行,多行拆分成一行。1.测试数据。2.将一行变成多行。3.将多行变成一行。

  

目录

 

  

一行拆分成多行

 

  效果:

  代码:

  if __name__==__main__:

  进口熊猫作为pd

  df=pd。DataFrame({ 国家 : [中国,美国,日本,欧盟,英国,澳大利亚,新加坡,荷兰],

  编号 : [100,150,120,90],

  值 : [1,2,3,4],

  标签 :列表( abcd)})

  df_split_row=df.drop(Country ,axis=1)。加入(

  df[Country].str.split(,,expand=True)。堆栈()。reset_index(level=1,drop=True)。重命名(“国家”))

  

1.根据某一列拆分

 

  效果:

  代码:

  if __name__==__main__:

  进口熊猫作为pd

  df=pd。data frame({ Code :[ 212027 ],

  颜色 : [蓝色,粉色,黄色],

  尺寸 :[ 12-18米,2-3岁,3-4岁]})

  split_columns=[Color , Size]

  df _ convert=df . drop(columns=split _ columns,轴=1)

  对于split _ columns:中的列

  df_convert=df_convert.join(

  df[column].str.split(,,expand=True)。堆栈()。reset_index(level=1,drop=True)。重命名(列))

  df _ convert=df _ convert . reset _ index(drop=True)

  

2.根据多列拆分

 

  

一行转多行、多行转一行

 

  Df=pd。DataFrame([[张世龙,篮球,羽毛球,英雄联盟],

  [黄,乒乓球,足球,象棋],

  [刘苗苗,画画,写小说,跑步]])

  Df.columns=[name , hobby]

  

1.测试数据

 

  方法一:

  # 1.将频道字段拆分为多列;2.将行变成列;3.重置索引并删除多个索引;4.更改名称

  Df_=df[ hobby ].str.split(,,expand=true)。堆栈()。reset _ index (level=1,drop=true)。重命名(“爱好”)

  1=df.drop ([hobby ],axis=1)。加入(df_)

  方发二:

  # 1.拆分通道字段;2.调用explode()方法

  Df[爱好]=df[爱好]。地图(lambda x:x.split(,))

  Df1=df.explode(爱好)

  

2.一行转多行

 

  #定义拼接功能并对字段进行重复数据删除。

  def concat_func(x):

  返回pd。系列({

  爱好 3360 ,。加入(x[爱好]。唯一())

  })

  #分组聚合拼接

  2=DF1.groupby (DF1 [name])。Apply (concat _ func)。重置索引()

  以上个人经验,希望给你一个参考,也希望你能支持盛行的IT软件开发工作室。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: