我有这样的清单:
[[None, 'ASK', 'BID'], ['4Y', 343.545, 344.621],['7Y', 0.016, 0.015],['9Y', 99.9, 99.8]]
而且我想将其转换成这样的数据框:
'4Y' | 'ASK' | 343.545
'4Y' | 'BID' | 344.621
'7Y' | 'ASK' | 0.016
'7Y' | 'BID' | 0.015
'9Y' | 'ASK' | 99.9
'9Y' | 'BID' | 99.8
我已经尝试过各种“循环”方式,但是它们看起来非常丑陋且效率低下。
花些时间来看看你想要什么:
arr[0][0] = 'idx'
(pd.DataFrame(arr[1:], columns=arr[0])
.set_index('idx')
.stack()
.reset_index()
)
输出:
idx level_1 0
0 4Y ASK 343.545
1 4Y BID 344.621
2 7Y ASK 0.016
3 7Y BID 0.015
4 9Y ASK 99.900
5 9Y BID 99.800