java 二维表格_二维表格转换成一维表格

# 加载数据

import pandas as pd

df_old1 = pd.read_excel(r"D:\Jupyter\data\Python.xlsx",sheet_name = "变一维")

df_old1

7f8bb56b7e974cbe949f3ecc0a01ba6c.png

# 数据清洗,把第一列设为索引列

df_old2 = pd.read_excel(r"D:\Jupyter\data\Python.xlsx",sheet_name = "变一维",index_col = 0)

df_old2

b9601f1ca8589c5fb639612fe178db35.png

# 重置索引

df_old3 = df_old2.reset_index()

df_old3

5141250df6e8c95930ba75be88d18aa8.png

将列名转换为列数据

这里我们需要用到pandas的.melt()函数,melt()是逆转操作函数,可以将列名转换为列数据(columns_name → column_values),重构DataFrame,用法如下:

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

data3

参数解释:

DataFrame:要处理的数据集;

id_vars:不需要被转换的列名;

value_vars:需要转换的列名,如果剩下的列全部都要转换,就不用写了;

var_name和value_name是自定义设置对应的列名;

col_level :如果列是MultiIndex,则使用此级别。

结果如下:

# 将二维转一维

df_new = df_old3.melt(id_vars = "index",var_name = "年份", value_name = "销售额")

df_new

719f0f3c147bd6291ced79ffb1f3d1c1.png

最后一步到位:

# 一步到位

import pandas as pd

df_melt = pd.read_excel(r"D:\Jupyter\data\Python.xlsx",sheet_name = "变一维",index_col = 0).reset_index().melt(id_vars = "index",var_name = "年份",value_name = "销售额").rename(columns = {"index" : "省份"})

df_melt

bbbbd697c3e584ed8006ab6d6ce91927.png

文末小结:小明大佬说:噢,那你们好好补补基础。我觉得很有道理!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值