gpt4 book ai didi

pandas - 绘制包含 NaN 的 Pandas 数据框

转载 作者:行者123 更新时间:2023-12-03 14:56:42 26 4
gpt4 key购买 nike

我有来自三个不同 GPS 接收器的冰速 GPS 数据。数据位于带有 julian day 索引的 pandas 数据框中(从 2009 年初开始递增)。

这是数据的一个子集(主要数据集是 3487235 行...):

                    R2          R7         R8
1235.000000 116.321959 100.805197 96.519977
1235.000116 NaN 100.771133 96.234957
1235.000231 NaN 100.584559 97.249262
1235.000347 118.823610 100.169055 96.777833
1235.000463 NaN 99.753551 96.598350
1235.000579 NaN 99.338048 95.283989
1235.000694 113.995003 98.922544 95.154067

数据框具有以下形式:

索引:6071320 个条目,127.67291667 到 1338.51805556
数据列:
R2 3487235 非空值
R7 3875864 非空值
R8 1092430 非空值
数据类型:float64(3)

R2 以与 R7 和 R8 不同的速率采样,因此 NaN 在该间距系统地出现。

正在尝试 df.plot()绘制整个数据框(或其索引行位置)在绘制 R7 和 R8 方面工作正常,但不绘制 R2。同样,只要做 df.R2.plot()也不起作用。绘制 R2 的唯一方法是执行 df.R2.dropna().plot() ,但这也删除了表示无数据周期的 NaN(而不仅仅是比其他接收器更粗的采样频率)。

有没有其他人遇到过这个?对这个问题的任何想法将不胜感激:)

最佳答案

您没有看到任何东西的原因是因为默认的绘图样式只是一条线。但是该线在 NaN 处中断,因此只会绘制多个连续值。而后者在你的情况下不会发生。您需要更改绘图风格,这取决于您想看到的内容。

对于初学者,请尝试添加:

.plot(marker='o')

这应该使所有数据点显示为圆圈。它很容易变得困惑,因此调整标记大小、边缘颜色等可能会很有用。我没有完全适应 Pandas 使用 matplotlib 的方式,所以如果情节变得更复杂,我经常自己切换到 matplotlib,例如:
plt.plot(df.R2.index.to_pydatetime(), df.R2, 'o-')

关于pandas - 绘制包含 NaN 的 Pandas 数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13603181/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com