Sim*_*ley 2 python dataframe pandas
我有这样的清单:
[[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
我已经尝试过各种“循环”方式,但是它们看起来非常丑陋且效率低下。
假设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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
36 次 |
| 最近记录: |