Python中实现“一行拆多行“和“多行并一行“,你会吗?

域名2025-11-04 08:00:2246648

 粉丝提问

今天粉丝提了下面这样一个问题,你会吗其中一个是中实"一行拆多行",另外一个是现行行和"多行并一行",貌似群友用power query已经解决了。拆多但是多行基于Python怎么做呢?接着往下看。

一行拆多行

上面这个问题我会提供两个思路,并行供大家选择,你会吗当然肯定是中实越简单得越好。每种方法中都有一些好用的现行行和技巧,希望大家能够好好学习。拆多

1)方法一

下方代码中有很多重要的免费信息发布网多行知识点,需要我们下去好好学习一下,并行我只提供解题思路,你会吗关于每个知识点怎么用,中实希望大家下去自行研究学习。现行行和

Pandas.melt()函数的用法; Series.str.split("/",expand=True)中,expand=True参数的用法; Series.sort_values()对文本进行排序; Python中enumerate()函数的用法; import pandas as pd # 读取数据 df = pd.read_excel("test1.xlsx",sheet_name="Sheet1") # 将一列炸裂成多列 df[["类型1","类型2","类型3"]] = df["电影类型"].str.split("/",expand=True) # 选取想要的列 df_final = df[["电影名","类型1","类型2","类型3"]] # 将行转列 df_final = df_final.melt(id_vars=["电影名"],value_name="类型") # 对“电影名”字段进行排序 df_final = df_final[["电影名","类型"]] df_final.sort_values(by="电影名",inplace=True) # 删除“类型==None”的行 for index,value in enumerate(df_final["类型"]):     if value == None:         df_final.drop(df_final.index[index],inplace=True) df_final 

结果如下:

2)方法二

上述方法确实复杂,由于我的Pandas版本是0.23.4,云服务器提供商因此无法使用explode()方法,进行炸裂操作。在pandas0.25版本的时候,DataFrame中才新增了一个explode()方法,专门用来将一行变多行。

Pandas.explode()函数的用法; import pandas as pd # 读取数据 df = pd.read_excel("test1.xlsx",sheet_name="Sheet1") # 将一行拆分成列表形式,注意:这里不需要使用expand=True参数 df["type"] = df["电影类型"].str.split("/") # 直接炸裂指定列 df.explode("type") 

结果如下:

多行并一行这里没有使用什么特别的知识,好好的理解Pandas中分组聚合应用某个函数,即可轻松解决这个问题。

import pandas as pd # 读取数据 df = pd.read_excel("test1.xlsx",sheet_name="Sheet2") # 分组聚合,应用某个函数 def func(df):     return ,.join(df.values) df = df.groupby(by=电影名).agg(func).reset_index() df 

结果如下:

b2b信息网
本文地址:http://www.bhae.cn/html/900b21298887.html
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

全站热门

电脑报read错误的解决方法(遇到电脑报read错误如何应对,尝试这些方法解决问题)

戴尔E4310i5笔记本电脑的性能与特点(一款高性能的商务办公利器)

创维电器质量评测(创维电器质量如何?)

先锋E82L(解读先锋E82L的创新科技与出色表现)

电脑错误提示0210及其解决方法(电脑错误提示0210的常见原因和有效解决方案)

一步步教你制作装机U盘,轻松安装操作系统(用U盘为电脑装上新生,从零开始的智能化之旅)

以U启动装机版制作教程(一步步教你如何使用U盘制作启动盘,为你的新电脑带来全新体验)

如何通过硬盘开盘取资料(简单步骤教你快速取回重要数据)

友情链接

滇ICP备2023000592号-9