[python pandas dataframe from arrays array

问题描述 投票:-1回答:1

我有这样的清单:

[[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

我已经尝试过各种“循环”方式,但是它们看起来非常丑陋且效率低下。

python pandas dataframe
1个回答
0
投票

花些时间来看看你想要什么:

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
© www.soinside.com 2019 - 2024. All rights reserved.