Pandas中melt()的使用

pandas.melt 使用参数:

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,则使用此级别。

melt 是溶解/分解的意思, 即拆分数据。df.melt() 则是将宽数据集变成长数据集


例子:

import pandas as pd
# 读取state_fruit2数据集
state_fruit2 = pd.read_csv('data/state_fruit2.csv')
state_fruit2
  State Apple Orange Banana
0 Texas 12 10 40
1 Arizona 9 7 12
2 Florida 0 14 190
# 使用melt方法,将列传给id_vars和value_vars。melt可以将原先的列名作为变量,原先的值作为值。
state_fruit2.melt(id_vars=['State'],value_vars=['Apple', 'Orange', 'Banana'])
  State variable value
0 Texas Apple 12
1 Arizona Apple 9
2 Florida Apple 0
3 Texas Orange 10
4 Arizona Orange 7
5 Florida Orange 14
6 Texas Banana 40
7 Arizona Banana 12
8 Florida Banana 190

猜你喜欢

转载自blog.csdn.net/weixin_48135624/article/details/114190013