Python笔记-DataFrame长宽数据的转换

  1. 宽数据转长数据,使用melt方法

df.melt(id_vars=None, value_vars=None, var_name=None, value_name=’value’, col_level=None, ignore_index=True)

id_vars, 指定变量不参与融合

value_vars,指定变量参与融合,不指定则默认非id列的所有变量

var_name,融合后生成变量名称,默认variable

value_name,融合后生成变量值得名称,默认value

col_level,数据框有多重列索引时使用

ignore_index,是否忽视原有index

1.1 先生成一个DataFrame

import pandas as pd
data = {"student":[1,2,3,4],"2018":[99,98,60,66],"2019":[60,80,85,77],"2020":[77,68,99,88]}
df1 = pd.DataFrame(data)
df1

Python笔记-DataFrame长宽数据的转换

1.2 使用melt融合

df1.melt(id_vars = ["student"], value_name = "score", var_name = "year")

Python笔记-DataFrame长宽数据的转换
  1. 长数据转宽数据,使用pivot方法

df.pivot(index=None, columns=None, values=None)

index 索引

columns 要转换的列

values 要转换的列所对应的值

2.1 使用pivot方法将上面melt的长数据再转换成宽数据

df1.pivot(index = "student",columns = "year",values = "score")

Python笔记-DataFrame长宽数据的转换

Original: https://blog.csdn.net/AliangYeah/article/details/119506376
Author: AliangYeah
Title: Python笔记-DataFrame长宽数据的转换

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/677321/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球