【发布时间】:2017-01-30 10:47:21
【问题描述】:
假设我们有一个 pandas 系列列表,其中每个列表都包含一些描述为字符串的特征,如下所示:
0 ["A", "C", "G", ...]
1 ["B", "C", "H", ...]
2 ["A", "X"]
...
N ["J", "K", ...]
绘制 2D 像素网格的最佳/最简单方法是什么?其中 X 轴是特征的出现,Y 轴是系列 0、1、2、...、N 中的每个样本?
9 月 22 日 16 日编辑:
似乎我没有明确提到特征列表对于所有观察结果不一定具有相同的大小。观察 1 可以有 4 个特征,观察 2 可以没有一个,观察 3 可以有 5 个,依此类推。因此,如果不对它们进行预处理以填充缺失的特征,我就无法立即将它们转换为 numpy 数组。
【问题讨论】:
-
你有没有想过将其转换为 Numpy 矩阵,然后使用 matplotlib 来做你想做的事?请在问题中也包括您解决问题的方法。
-
这里有点像在黑暗中拍摄,但您是否在寻找2D "pixel grid" like this?如果不是,请详细说明您想要什么,对我来说,将 2D 绘图作为轴之一并没有多大意义。
-
我认为真正的问题是首先将列表列表中的特征转换为一种矩阵。请注意,系列中的观察值不一定相同。它类似于
pandas.get_dummies(),但此方法基于单列的标量值提取矩阵,而不是单列中列表中的值。 -
matplotlib mapshow 是我想要的。
标签: python pandas matplotlib plot series