Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何转换数据帧,使标题成为列值?_Python_Pandas_Dataframe - Fatal编程技术网

Python 如何转换数据帧,使标题成为列值?

Python 如何转换数据帧,使标题成为列值?,python,pandas,dataframe,Python,Pandas,Dataframe,我有以下表格中的数据框: 如何使用此表单将其转换为新的数据帧: 我开始使用Seaborn和Plotly进行绘图,他们似乎更喜欢用第二种方式格式化数据。让我们试试设置索引(),取消堆栈(),重命名列 `df.set_index('Date').unstack().reset_index().rename(columns={'level_0':'Name',0:'Score'})` 它的工作原理 df.set_index('Date')#Sets Date as index df.set_in

我有以下表格中的数据框:

如何使用此表单将其转换为新的数据帧:

我开始使用Seaborn和Plotly进行绘图,他们似乎更喜欢用第二种方式格式化数据。

让我们试试
设置索引()
取消堆栈()
重命名列

`df.set_index('Date').unstack().reset_index().rename(columns={'level_0':'Name',0:'Score'})`
它的工作原理

df.set_index('Date')#Sets Date as index
df.set_index('Date').unstack()#Flips, melts the dataframe
d=df.set_index('Date').unstack().reset_index()# resets the datframe and allocates columns, those in index become level_suffix and attained values become 0
d.rename(columns={'level_0':'Name',0:'Score'})#renames columns
这应该起作用:

df.stack().reset_index(level=1).rename(columns={'level_1':'Name')

在熊猫中使用熔化功能

df.melt(id_vars="Date", value_vars=["Andy", "Barry", "Cathy"], var_name="Name", value_name="Score")

哇,太棒了!我需要了解这些命令的作用。请参阅我的编辑。一次运行每一步,解释会让您感觉到可以使用pandas melt:
df.melt(id_vars='Date',var_name='name',value_name='Score',ignore_index=False)。sort_index()
您实际上不需要
ignore_index
选项;但是,如果您严格要求数据的排序方式,则可能会有所帮助。