如何将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修改为索引的主要内容,如果未能解决你的问题,请参考以下文章