[英]How to move pandas column under the last row of the first column?
我正在尝试操作我的熊猫数据框,以便我可以:
实际数据帧输出:
Adj Close Adj Close
A AAL
Date
1/11/19 80.22673035 28.54166412
1/12/19 84.7361908 28.57440376
1/1/20 82.17785645 26.74117851
所需的数据帧输出:
Ticker Adj Close
Date
1/11/19 A 80.22673035
1/12/19 A 84.7361908
1/1/20 A 82.17785645
1/11/19 AAL 28.54166412
1/12/19 AAL 28.57440376
1/1/20 AAL 26.74117851
这是可能的,如果是这样,最好的方法是什么? 我试过使用 groupby 函数以及 pivot 但还没有得到任何结果。 我是 python 新手,所以我可能做错了什么。
感谢您的帮助并保持安全:)
编辑(请求输出) print(df.to_dict())
{('Adj Close', 'A'):
{Timestamp('2019-10-01 00:00:00'): nan,
Timestamp('2019-11-01 00:00:00'): 80.22673034667969,
Timestamp('2019-12-01 00:00:00'): 84.73619079589844,
Timestamp('2020-01-01 00:00:00'): 82.1778564453125,
Timestamp('2020-02-01 00:00:00'): 76.71327209472656,
Timestamp('2020-03-01 00:00:00'): 71.28850555419922,
Timestamp('2020-04-01 00:00:00'): 76.4993667602539,
Timestamp('2020-05-01 00:00:00'): 87.95530700683594,
Timestamp('2020-06-01 00:00:00'): 88.18482971191406,
Timestamp('2020-07-01 00:00:00'): 96.33000183105469,
Timestamp('2020-08-01 00:00:00'): 100.41999816894531,
Timestamp('2020-09-01 00:00:00'): 100.94000244140625,
Timestamp('2020-10-01 00:00:00'): 100.01000213623047,
Timestamp('2020-10-02 00:00:00'): 100.01000213623047},
('Adj Close', 'AAL'):
{Timestamp('2019-10-01 00:00:00'): nan,
Timestamp('2019-11-01 00:00:00'): 28.541664123535156,
Timestamp('2019-12-01 00:00:00'): 28.574403762817383,
Timestamp('2020-01-01 00:00:00'): 26.741178512573242,
Timestamp('2020-02-01 00:00:00'): 18.9798583984375,
Timestamp('2020-03-01 00:00:00'): 12.1899995803833,
Timestamp('2020-04-01 00:00:00'): 12.010000228881836,
Timestamp('2020-05-01 00:00:00'): 10.5,
Timestamp('2020-06-01 00:00:00'): 13.069999694824219,
Timestamp('2020-07-01 00:00:00'): 11.119999885559082,
Timestamp('2020-08-01 00:00:00'): 13.050000190734863,
Timestamp('2020-09-01 00:00:00'): 12.289999961853027,
Timestamp('2020-10-01 00:00:00'): 13.0,
Timestamp('2020-10-02 00:00:00'): 13.0}}
试试这个,如果你的列头是 multiIndex:
df.stack(1).reset_index().rename(columns={'level_1': 'Ticker'})
输出:
Date Ticker Adj Close
0 1/11/19 A 80.226730
1 1/11/19 AAL 28.541664
2 1/12/19 A 84.736191
3 1/12/19 AAL 28.574404
4 1/1/20 A 82.177856
5 1/1/20 AAL 26.741179
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.