如何将inf修改为索引

Posted

技术标签:

【中文标题】如何将inf修改为索引【英文标题】:How to modify inf into an index 【发布时间】:2020-12-28 01:19:54 【问题描述】:

我对 Python 业务非常陌生,因此我向社区寻求一些额外的支持。我有一个 Pandas DataFrame,其中有 .index.column,格式为 IntervalIndex。从下面的输出可以看出,元组(?)的第一个.left元素和最后一个.right元素是inf

IntervalIndex([[-inf, -1.0), [-1.0, -0.9), [-0.9, -0.8), [-0.8, -0.7), [-0.7, -0.6) ... [0.6000000000000001, 0.7000000000000002), [0.7000000000000002, 0.8), [0.8, 0.9000000000000001), [0.9000000000000001, 1.0), [1.0, inf)],
              closed='left',
              name='cos(theta)',
              dtype='interval[float64]')

我正在尝试使用 plt.pcolormesh(x,y,C) 绘制 2D 历史记录,它抱怨是因为:

ValueError: x and y arguments to pcolormesh cannot have non-finite values or be of type numpy.ma.core.MaskedArray with masked values

我需要pcolormesh,因为我的数据由一个 C 值矩阵(计数)、一个 x 索引(cos(theta))和一个 y 列(能量)组成。 C 的尺寸应该与 x 和 y 的长度匹配,因此我不能简单地用 pivot_pipanda.index.left[1:] for -inf 之类的东西切割边缘。

我想将-inf 替换为其元组的.right 值(即[-inf, -1.0))- 之后的bin 的中心值(所有bin 具有相同的宽度)和@987654334 的镜面反射@。我曾想过像 .apply().raplace() 这样的幼稚方法,但它们不适用于 .index.left.index.right 。我可以使用语法pivot_df.index.left.isin(["-inf"])

获得布尔掩码
 array([ True, False, False, False, False, False, False, False, False,
       False, False, False, False, False, False, False, False, False,
       False, False, False, False])

但我无法想象有一个功能可以完成这项工作。

非常欢迎任何想法!

【问题讨论】:

一种可能的解决方法是将直方图转换为 my"Dhisto.numpy() 。然而,转换不包括 -inf 和 +inf 以 .index 和 .column 1 项的长度结束小于 z 的 .shape 数。 【参考方案1】:

解决方法是 Jim my2Dhisto.numpy() 建议的。

更多详情please have a look here

【讨论】:

以上是关于如何将inf修改为索引的主要内容,如果未能解决你的问题,请参考以下文章

如何修改U盘的图标

Elasticsearch如何修改Mapping结构并实现业务零停机

numpy nan和inf

如何创建唯一索引

如何优化?

如何修改tomcat deploy path