我正在Python中实现交叉列表库,这是我的新工作的编程练习,并且已经实现了一些有效的要求,但这些要求并不冗长且多余。我想要一个更好的模型,它允许在基础模型之间很好地,干净地移动数据,以表格数据形式存储在平面文件中,以及可能需要的所有统计分析结果。

现在,我有了从表中每一行的一组元组,到计算所关注的元组出现频率的直方图,再到一个序列化器的过程,该序列化器有点笨拙地将输出编译为一组用于显示的表格单元格。但是,由于没有足够的信息,我最终不得不不得不多次回到表格或直方图中。

那么,有什么想法吗?

编辑:这是一些数据的示例,而我希望能够从中构建
它。注意 ”。”表示一些“丢失”数据,这只是有条件的
算了。

1   .   1
1   0   3
1   0   3
1   2   3
2   .   1
2   0   .
2   2   2
2   2   4
2   2   .

如果我正在查看上面第0列和第2列之间的相关性,那么这就是我要使用的表:
    . 1 2 3 4
1   0 1 0 3 0
2   2 1 1 0 1

另外,我希望能够计算频率/总和,频率/小计和&c的比率。

最佳答案

您可以将内存中的sqlite数据库用作数据结构,并将所需的操作定义为SQL查询。

import sqlite3

c = sqlite3.Connection(':memory:')
c.execute('CREATE TABLE data (a, b, c)')

c.executemany('INSERT INTO data VALUES (?, ?, ?)', [
    (1, None,    1),
    (1,    0,    3),
    (1,    0,    3),
    (1,    2,    3),
    (2, None,    1),
    (2,    0, None),
    (2,    2,    2),
    (2,    2,    4),
    (2,    2, None),
])

# queries
# ...

关于python - 什么是交叉表的良好数据模型?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1019643/

10-12 18:05
查看更多