Python 如何转换数据帧,使标题成为列值?
我有以下表格中的数据框: 如何使用此表单将其转换为新的数据帧: 我开始使用Seaborn和Plotly进行绘图,他们似乎更喜欢用第二种方式格式化数据。让我们试试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
设置索引()
,取消堆栈()
,重命名列
`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
选项;但是,如果您严格要求数据的排序方式,则可能会有所帮助。