2. 用melt清理变量值作为列名
# 读取state_fruit2数据集
In[11]: state_fruit2 = pd.read_csv('data/state_fruit2.csv')
state_fruit2
out[11]:
# 使用melt方法,将列传给id_vars和value_vars。melt可以将原先的列名作为变量,原先的值作为值。
In[12]: state_fruit2.melt(id_vars=['State'],
value_vars=['Apple', 'Orange', 'Banana'])
out[12]:
# 随意设定一个行索引
In[13]: state_fruit2.index=list('abc')
state_fruit2.index.name = 'letter'
In[14]: state_fruit2
out[14]:
# var_name和value_name可以用来重命名新生成的变量列和值的列
In[15]: state_fruit2.melt(id_vars=['State'],
value_vars=['Apple', 'Orange', 'Banana'],
var_name='Fruit',
value_name='Weight')
out[15]:
# 如果你想让所有值都位于一列,旧的列标签位于另一列,可以直接使用melt
In[16]: state_fruit2.melt()
out[16]:
# 要指明id变量,只需使用id_vars参数
In[17]: state_fruit2.melt(id_vars='State')
out[17]: