首页 > 解决方案 > Pandas Dataframe 找不到我的第一个 id_vars,但我认为它在那里。关于如何解决这个问题的任何想法?

问题描述

这是我正在使用的数据框。当我尝试使用此代码融化时:

dataframe = pd.melt(dataframe, id_vars = ['Country Name'], var_name = 'Name')    

我收到此错误:

KeyError: "The following 'id_vars' are not present in the DataFrame: ['Country Name']"

关于如何解决这个问题的任何想法?

谢谢!

标签: pythonpandas

解决方案


#The melt method needs to be called by the DateFrame object created
import numpy as np 
import pandas as pd
df = pd.DataFrame({'Class':[1,2],'Name':['San Zhang', 'Si Li'],'Chinese':[80, 90],'Math':[80, 75]})
df
df_melted = df.melt(id_vars = ['Class', 'Name'],value_vars = ['Chinese', 'Math'],var_name = 'Subject', value_name = 'Grade')
df_melted
out:
    Class   Name    Subject Grade
0   1   san zhang   chinese 89
1   2   si li       chinese 93
2   1   san zhang    math   99
3   2   si li       math    89

推荐阅读