python - 将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] ]
我想将它连接到axis = 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
推荐阅读
- python - 我在课堂外的函数调用在 Scrapy / Python 中不起作用
- python - 在 Python 中保存绘图对象
- php - 通过 PHP 中的分隔符过滤 CSV 文件中的行
- python - 尝试使用 discord.py 机器人在语音通道之间移动用户
- python - 尝试通过 pip 和命令提示符安装 pyinstaller 时出错
- javascript - node.js 将数据写入已连接的网络套接字
- python - 没有名为“请求”的模块,请求显示它已安装
- python - 如何在 Python gRPC 处理程序中访问方法名称
- python - 单击按钮时无法加载照片
- java - 无法将数据绑定到 Spring mvc 中的 ModelAttribute 列表属性