[英]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
是您的列表。 構造df
並melt
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.