首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按列将python列表插入到dataframe中

按列将python列表插入到dataframe中
EN

Stack Overflow用户
提问于 2019-03-05 07:40:58
回答 1查看 130关注 0票数 0

我有下面的python列表,

代码语言:javascript
复制
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] ]

我想用axis=1将其合并到一个数据帧中,这样就像在数据帧中一样

代码语言:javascript
复制
<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

我使用了以下代码:

代码语言:javascript
复制
frame = pd.concat(test_list, axis=1, ignore_index=True)

但是我得到了以下错误

代码语言:javascript
复制
TypeError: cannot concatenate object of type < class 'list' >
    only pd.Series, pd.DataFrame, and pd.Panel (deprecated) objs are valid
EN

回答 1

Stack Overflow用户

发布于 2019-03-05 07:46:52

首先,您转换为一个数据帧,然后按滚动条列分组,然后执行concat

代码语言:javascript
复制
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
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54993291

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档