热线电话:13121318867

登录
2019-03-05 阅读量: 1088
将python列表插入到数据框列中

我有以下python列表,

test_list =

[ ['CVM', 20010618, 332.5],

['CVM', 20010619, 332.5],

['CVM', 20010620, 330.0],

['CVM', 20010621, 342.5],

['CVM', 20010622, 337.5],

['AEF', 19970102, 18.7489],

['AEF', 19970103, 18.9735],

['AEF', 19970106, 19.5348],

['AEF', 19970107, 19.6471] ]

我想将它连接到一个轴= 1的数据帧,所以它就像数据帧中的那样

<TICKER><DTYYYYMMDD><CLOSE><TICKER><DTYYYYMMDD><CLOSE>

'CVM' 20010619 332.5 'AEF' 19970102 18.7489

'CVM' 20010620 330.0 'AEF' 19970103 18.9735

'CVM' 20010621 342.5 'AEF' 19970106 19.5348

'CVM' 20010622 337.5 'AEF' 19970107 19.6471

我使用了以下代码:

frame = pd.concat(test_list, axis=1, ignore_index=True)

但是我收到以下错误

TypeError: cannot concatenate object of type < class 'list' >

only pd.Series, pd.DataFrame, and pd.Panel (deprecated) objs are valid

解决办法:首先转换为一个数据帧,然后按自动收录器列分组,然后我们这样做 concat

pd.concat([y.reset_index(drop=True) for _, y in pd.DataFrame(test_list).groupby(0)],axis=1)

Out[351]:

0 1 2 0 1 2

0 AEF 19970102.0 18.7489 CVM 20010618 332.5

1 AEF 19970103.0 18.9735 CVM 20010619 332.5

2 AEF 19970106.0 19.5348 CVM 20010620 330.0

3 AEF 19970107.0 19.6471 CVM 20010621 342.5

4 NaN NaN NaN CVM 20010622 337.5

7.1701
1
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子