太强了,1行python代码干了妹子一天的工作

事情是这样的,元旦前有朋友向我寻求帮助,吐槽老板在放假前给他安排一个苦逼的差事,想问问我能不能帮个忙,要不然假期都过不好了

工作具体内容如下,主要是想把一个二维表格转成一维表格,如下图(表格为替代品):

于是我马上想到了pandas,想着这么强大的函数肯定有这个功能,于是我开始翻阅资料,没想到还真找到了,而且仅用三行代码就搞定了,惊的朋友直呼python牛批

下面个大家详细介绍一下整个过程

1.正确读取表格

首先按照传统的方式读表格:

import pandas as pd
data1 = pd.read_excel('高中生数量.xlsx')
data1

发现索引列没有被识别,产生了Unnamed: 0列,所以我们应该把第一列设置为索引列,代码如下:

import pandas as pddata1 = pd.read_excel('高中生数量.xlsx',index_col=0)  #index_col用来设置索引列data1

这样就正常读取并识别表格了

2.重置索引

这一步主要是将索引列重置,变为普通列,便于下步,代码如下

data2=data1.reset_index()
data2

可以发现,之前的索引列编程‘index’列了

3.将列名转换为列数据

这一步主要用到pandas的melt函数,melt是逆转操作函数,可以将列名转换为列数据(columns name → column values),重构DataFrame,用法如下:

pandas.melt(frame, id_vars=None, value_vars=None, var_name=None, value_name='value', col_level=None)

参数解释:

    frame:要处理的数据集;id_vars:不需要被转换的列名;value_vars:需要转换的列名,如果剩下的列全部都要转换,就不用写了;var_name和value_name是自定义设置对应的列名;col_level :如果列是MultiIndex,则使用此级别。

    我们把'index'列保留,并把转换后的列命名为'year',value命名为'stu_num':

    data3=data2.melt(id_vars='index', var_name='year',value_name='stu_num')data3

    4.把第一列设置为索引列

    为了防止保存后的表格带有数字索引,需要把第一列设置为索引列:

    data4=data3.set_index('index')
    data4

    5.保存表格

    data4.to_excel('转换后表格.xlsx')

    大功告成,上述代码可以用1行代码搞定:

    data=data.reset_index().melt('index', var_name='col').set_index('index')

    是不是很强悍!

    一起感受一下妹子的夸赞吧:

    幸福就是这么简单,在这里哥想说一句,不是哥优秀,而是python太强大,哈哈!

    (0)

    相关推荐

    • Pandas reindex重置索引

      重置索引(reindex)可以更改原DataFrame的行标签或列标签,并使更改后的行.列标签与DataFrame中的数据逐一匹配.通过重置索引操作,您可以完成对现有数据的重新排序.如果重置的索引标签 ...

    • pandas笔记(5)

      在Python中,dataframe可以使用默认行列索引,也可以自行设置索引. 查看索引 新建一个DataFrame import pandas as pddf = pd.DataFrame ([[' ...

    • Pandas Series入门教程

      Series结构,也称Series序列,是Pandas常用的数据结构之一,它是一种类似于一维数组的结构,由一组数据值(value)和一组标签组成,其中标签与数据值之间是一一对应的关系. Series可 ...

    • 14个pandas神操作,手把手教你写代码(文末送书)

      导读:Pandas是Python数据分析的利器,也是各种数据建模的标准工具.本文带大家入门Pandas,将介绍Python语言.Python数据生态和Pandas的一些基本功能. 在Python语言应 ...

    • 一句代码合并Excel表

      原文链接:https://www.jianshu.com/p/0b2b9c08f7f 两个Excel中都有相同的一列,怎样依赖这列数据将两个Excel合并到一起?使用Python合并表格只要一句代码! ...

    • python之Dataframe:多级表头和索引灵活的处理(一)

      DataFrame俗称数据框,和一般的Excel表格没有多大区别,一般包含索引(行)和表头(列),在python中,由pandas包提供. 这是一个最简单的数据框类型,只包含一级索引和一级表头 如果你 ...

    • 牛逼!40行Python代码一键把html网页保存为pdf,太方便了!

      作者丨菜鸟哥 来源丨菜鸟学Python(ID:cainiao_xueyuan) 最近临近开学了,大家都在忙着准备各种学习的资料,准备在新的学期好好学习,充实自己.小编身边的同学也是如此,最近,小编的同 ...

    • 30行Python代码实现蚂蚁森林自动偷能量(附源码)

      虽然我支付宝加了好多好友,平时有很多能量可以偷,但由于太懒,至今一棵树都没种成,所以心心念念把偷能量这事自动化.之前通过用代码模拟手机点按的方式,实现了 朋友圈自动点赞,但当时蚂蚁森林的操作流程要比朋 ...

    • 什么,3行Python代码就能获取海量数据?

      Python爬虫与数据挖掘 1周前 以下文章来源于法纳斯特 ,作者小F 本文转载自公众号[法纳斯特],详情可以点击上方卡片,关注该公众号,获取更多好文推荐. 一谈起数据分析,首先想到的就是数据,没有数 ...

    • 6行python代码的爱心线

      前些日子在做绩效体系的时候,遇到了一件囧事,居然忘记怎样在Excel上拟合正态分布了,尽管在第二天重新拾起了Excel中那几个常见的函数和图像的做法,还是十分的惭愧.实际上,当时有效偏颇了,忽略了问题 ...

    • 10行Python代码的词云

      什么是词云呢? 词云又叫文字云,是对文本数据中出现频率较高的"关键词"在视觉上的突出呈现,形成关键词的渲染形成类似云一样的彩色图片,从而一眼就可以领略文本数据的主要表达意思. 现在 ...

    • 再见PDF提取收费!我用100行Python代码搞定!

      第471篇原创干货,第一时间送达 大家在日常的工作和学习过程中,都少不了与PDF文件打交道,很多的小伙伴都面临着将PDF文件中的文字.图片和表格数据提取出来的问题.能够对PDF文件中的文字.表格等数据 ...

    • 不到70行Python代码,轻松玩转RFM用户分析模型(附案例数据和代码)

      本文从RFM模型概念入手,结合实际案例,详解Python实现模型的每一步操作,并提供案例同款源数据,以供同学们知行合一. 注:想直接下载代码和数据的同学可以空降文末 看这篇文章前源数据长这样: 学完后 ...

    • 女友半夜加班发自拍,IT男友用30行python代码发现惊天秘密

      点击上方"机器学习爱好者社区" 选择"星标"公众号,重磅干货,第一时间送达 这是一个悲伤的故事 昨天,我司的python开发小哥刚准备下班陪女友共进晚餐,满心期 ...

    • 太强了,用 Python 自动生成 Excel 数据报表!

      所以今天就带大家来实战一波,使用Python自动化生成数据报表! 从一条条的数据中,创建出一张数据报表,得出你想要的东西,提高效率. 主要使用到pandas.xlwings以及matplotlib这几 ...