python - 在 Pandas 中使用列名作为新属性

标签 python pandas reshape

我有以下数据结构

Date         Agric  Food 
01/01/1990    1.3   0.9  
01/02/1990    1.2   0.9 

我想把它转换成格式

Date        Sector  Beta
01/01/1990  Agric   1.3
01/02/1990  Agric   1.2
01/01/1990  Food    0.9
01/02/1990  Food    0.9

虽然我确信我可以用复杂的方式做到这一点,但有没有一种方法可以用几行代码来做到这一点?

最佳答案

使用 pd.DataFrame.melt

df.melt('Date', var_name='Sector', value_name='Beta')

         Date Sector  Beta
0  01/01/1990  Agric   1.3
1  01/02/1990  Agric   1.2
2  01/01/1990   Food   0.9
3  01/02/1990   Food   0.9

关于python - 在 Pandas 中使用列名作为新属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45699653/

相关文章:

python - mod_wsgi : ImportError: No module named 'encodings'

python - 如何在Python中检查查询是否插入了数据

python - 如何将大文件读取为 Pandas 数据框?

python-3.x - 使用 Selenium 和 Python 将表数据提取到 pandas 数据框中

r - 是否有一个 R 函数可以将这些数据从长变宽?

python - 这个日期检查是否更简洁?

python - Rasa Core - 获取最新消息,自定义操作

python - 如何将一系列 pandas 类型 pandas.Timestamp 与另一个系列类型 datetime.time 连接起来?

Python pandas dataframe 将长变为宽、多列和常量值

r - 分配给 LHS 上的空索引(空方括号 x[]<-)