簡體   English   中英

python pandas dataframe 來自 arrays 列表

[英]python pandas dataframe from list of arrays

我有一個這樣的清單:

[[None, 'ASK', 'BID'], ['4Y', 343.545, 344.621],['7Y', 0.016, 0.015],['9Y', 99.9, 99.8]]

我想將其轉換為 dataframe 如下:

'4Y' | 'ASK' | 343.545 '4Y' | 'BID' | 344.621 '7Y' | 'ASK' | 0.016 '7Y' | 'BID' | 0.015 '9Y' | 'ASK' | 99.9 '9Y' | 'BID' | 99.8

我嘗試了各種“循環”方式,但它們看起來非常丑陋和低效。

假設l是您的列表。 構造dfmelt

df = pd.DataFrame(l[1:], columns=l[0])
df.rename({None: 'Year'}, axis=1).melt('Year').sort_values('Year')

Out[477]:
  Year variable    value
0   4Y      ASK  343.545
3   4Y      BID  344.621
1   7Y      ASK    0.016
4   7Y      BID    0.015
2   9Y      ASK   99.900
5   9Y      BID   99.800

花點時間看看你想要什么:

arr[0][0] = 'idx'
(pd.DataFrame(arr[1:], columns=arr[0])
   .set_index('idx')
   .stack()
   .reset_index(name='value')
)

Output:

  idx level_1    value
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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM