Python中的MATLAB结构数组如何实现?

2 投票
3 回答
2061 浏览
提问于 2025-04-16 10:54

我刚开始学习Python。我想把SQL查询的结果放到一个类似于MATLAB中结构数组的矩阵变量里。简单来说,就是一个可以存放数字和字符串的矩阵。

这个变量可以保存查询的行和列。
我该怎么做呢?

谢谢。

3 个回答

2

我相信你已经发现了 MySQLdb 这个工具,它可以帮助你把数据库里的数据拿到 Python 里。默认情况下,它会返回一个包含多个元组的数组,你可以对这个数组进行遍历。如果你想要一种可以通过键来访问的数据结构(就像 Matlab 的结构体那样),那么你需要在 Python 中使用字典。

像这样的查询

"Select field1,field2 FROM SomeTable"

会给你返回以下内容

[(field1,field2),(field1,field2),(field1,field2)]

如果你不想要元组列表,你可以使用 MySQLdb 的其他类型的游标(可以查看文档了解更多)或者遍历这个元组列表,把它转换成其他格式。

3

如果你只想要像MATLAB那样的矩阵和向量,最好的选择是NumPy(如果你想要更多类似MATLAB的功能,可以看看SciPy)。

另外,如果你想制作漂亮的图表,我推荐Matplotlib

1

如果@Matti的回答不是你想要的,也许用一个字典的列表会更合适?

select field1, field2, field3 from SomeTable

然后这会被转换成类似这样的东西:

[{'field1' : 1, 'field2' : 'asdf', 'field3' : 3.234},
 {'field1' : 0, 'field2' : 'Some string here', 'field3', 0.93284},]

撰写回答