社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

快速实现分列转到行(Python版)

凹凸数据 • 4 年前 • 456 次点击  
大家好,我是黄同学
最近看到「凹凸数据」上Amily的一篇文章,原文请看👉用Excel快速实现分列转到行的操作。数据源大致是这样的:

基于此,我动起了一个念头:看看如何用Python快速实现这个操作。
数据源已经构造好,咱们开干!
import pandas as pd

df = pd.read_excel("分列转到行.xlsx",header=None)
df.columns = ["年级","姓名"]
df
结果如下:

整个代码很简单,不信你看!
df["新列"] = df["姓名"].str.split(";")
df["新列"]
结果如下:

最后再上一个爆炸函数,直接拿下!
df1 = df.explode("新列")
df1
部分截图如下:

对于上述得到的df1,你又该如何还原这份数据呢?
def func(df):
    return ','.join(df.values) #这里改为什么分隔符,随你自己!
df2 = df1.groupby(by='年级').agg(func).reset_index()
df2
结果如下:

哈哈,这个操作是不是很不错?赶紧下去玩玩儿吧!


点击这里,阅读更多数据文章!
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/123676