python从数组列表中删除数据帧

python从数组列表中删除数据帧,python,pandas,dataframe,Python,Pandas,Dataframe,我有这样一份清单: [[None,'ASK','BID',[4Y',343.545344.621],[7Y',0.016,0.015],[9Y',99.9,99.8] 我想将其转换为数据帧: “4Y”|“ASK”| 343.545 “4Y”|“投标”| 344.621 “7Y”|“ASK”| 0.016 “7Y”|“投标”| 0.015 “9Y”|“ASK”| 99.9 “9Y”|“BID”| 99.8 我尝试过各种“循环”的方法,但它们看起来非常丑陋和低效 花点时间看看你想要什么: arr

我有这样一份清单:

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

我想将其转换为数据帧:


“4Y”|“ASK”| 343.545
“4Y”|“投标”| 344.621
“7Y”|“ASK”| 0.016
“7Y”|“投标”| 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(name='value')
)
输出:

  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

假设
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

pd.DataFrame(the_array)
有什么问题吗?它不会为候选人产生预期的结果,伙计?任何子列表都可能没有吗?@DanielMesejo No,
None
只作为第0个子列表的第0个元素出现。我认为这个问题不值得否决。可能有人不同意我的意见。我投这一票是为了抵消否决票。谁说我否决了?更不用说你的问题提供的信息很少。你本可以解释这件事的。