Python 尝试将数据从宽格式转换为窄格式

Python 尝试将数据从宽格式转换为窄格式,python,pandas,jupyter-notebook,Python,Pandas,Jupyter Notebook,因此,我正在尝试将一个名为窄格式的数据帧从宽格式转换为窄格式,我认为pandas.melt将是最好的选择: wide = pd.melt(Narrow, id_vars='i', value_vars=Narrow.columns).sort(columns='i') 但是我得到一个错误,说: Exception: Data must be 1-dimensional 这是我的数据片段: 狭窄。列包括'i'-列,因此您将该列同时分配给id变量和值变量。如果希望除'i'之外的所有列都是值变量,

因此,我正在尝试将一个名为窄格式的数据帧从宽格式转换为窄格式,我认为pandas.melt将是最好的选择:

wide = pd.melt(Narrow, id_vars='i', value_vars=Narrow.columns).sort(columns='i')
但是我得到一个错误,说:

Exception: Data must be 1-dimensional
这是我的数据片段:
狭窄。列
包括
'i'
-列,因此您将该列同时分配给
id变量
值变量
。如果希望除
'i'
之外的所有列都是
值变量
,则可以省略
值变量
赋值,因为这是默认值:

wide=pd.melt(窄,id\u vars='i')
pd.melt()

值变量:元组、列表或数据数组,可选

列(s)到取消PIVOT。如果未指定,则使用未设置为id_变量的所有列


窄列。列
包括
'i'
-列,因此您将该列同时分配给
id\u变量
value\u变量
。如果希望除
'i'
之外的所有列都是
值变量
,则可以省略
值变量
赋值,因为这是默认值:

wide=pd.melt(窄,id\u vars='i')
pd.melt()

值变量:元组、列表或数据数组,可选

列(s)到取消PIVOT。如果未指定,则使用未设置为id_变量的所有列


@将其设置为基本窄格式的Ame。只是数据杂乱无章,格式不合理…@Robert Farmer是的,我没有在代码中包含
sort()
,但那只是因为我认为这不是问题的一部分。当然,您仍然可以根据自己的喜好对生成的数据帧进行排序。@Ame将其设置为基本的窄格式。只是数据杂乱无章,格式不合理…@Robert Farmer是的,我没有在代码中包含
sort()
,但那只是因为我认为这不是问题的一部分。当然,您仍然可以根据自己的喜好对结果数据帧进行排序。