温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么用python把二维表格转成一维表格

发布时间:2021-11-23 11:34:18 来源:亿速云 阅读:289 作者:iii 栏目:大数据

这篇文章主要讲解了“怎么用python把二维表格转成一维表格”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用python把二维表格转成一维表格”吧!

1.正确读取表格

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

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

怎么用python把二维表格转成一维表格

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

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

怎么用python把二维表格转成一维表格

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

2.重置索引

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

data2=data1.reset_index()
data2

怎么用python把二维表格转成一维表格

可以发现,之前的索引列编程‘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

怎么用python把二维表格转成一维表格

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

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

data4=data3.set_index('index')
data4

怎么用python把二维表格转成一维表格

5.保存表格

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

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

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

感谢各位的阅读,以上就是“怎么用python把二维表格转成一维表格”的内容了,经过本文的学习后,相信大家对怎么用python把二维表格转成一维表格这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI