gpt4 book ai didi

python - 从 pandas 数据帧着色时间序列数据

转载 作者:太空宇宙 更新时间:2023-11-04 04:07:02 27 4
gpt4 key购买 nike

我有两个 Pandas 数据帧:svt_data 和 asp_data。第一个是时间序列数据,第二个是该序列中的特定时间。我可以使用 svt_data.plot() 毫无问题地绘制时间序列数据。然后我想从第二个数据帧中隐藏特定时间。

在过去,我通过迭代列表的元素并使用 matplotlib 的 plt.axvline 函数来完成此操作,而不是使用 pandas 数据帧,而是使用原生 python 列表。但是,当我遍历数据框元素并使用此函数时,它会生成两个数字而不是一个。它在一张图上显示第二个数据帧的特定时间,并在另一张图上给出时间序列。

我怎样才能让他们在同一个地 block 上?

    from numpy import *
from pandas import *
import pylab as plt

svt_data = read_csv("D:\\Archives\\workspace\\sizeTimeData.txt", sep=" ", header=None, names=["time", "size"])
asp_data = read_csv("D:\\Archives\\workspace\\asperityFailTimes.txt", sep=" ", header=None, names=["asp1"])

for i in asp_data.asp1:
plt.axvline(i,color=(0,1,0),alpha='0.5')

svt_data.plot(x='time', y="size", color="black")
plt.show()

编辑:这是使用列表而不是数据框生成的类似图表的样子。

img

我已经切换到 pandas,因为我的数据集越来越大,而且它花费了不合理的时间来绘制事物甚至读取数据。

Zoomed in on one cluster

最佳答案

我认为 pandas.DataFrame.plot默认创建一个新图形。
如果您只是切换绘图命令,绘制 之前 数据框的数据和 之后 行的数据,您将得到一个图形。

svt_data.plot(x='time', y="size", color="black")

for i in asp_data.asp1:
plt.axvline(i,color=(0,1,0),alpha='0.5')

关于python - 从 pandas 数据帧着色时间序列数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57100457/

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