gpt4 book ai didi

python - 在一张图中绘制多个 Pandas 数据框

转载 作者:行者123 更新时间:2023-11-28 20:02:37 24 4
gpt4 key购买 nike

我创建了 6 个不同的数据框,它们消除了各自原始数据框的异常值。现在,我正在尝试在同一张图上绘制所有消除异常值的数据框。

这是我消除每个数据框中异常值的代码:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
plt.style.use("ggplot")

#---Original DataFrame
x = (g[0].time[:27236])
y = (g[0].data.f[:27236])
df = pd.DataFrame({'Time': x, 'Data': y})

#----Removes the outliers in a given DataFrame and plots a graph
newdf = df.copy()
newdf = df[~df.groupby('Data').transform( lambda x: abs(x-x.mean()) > 1.96*x.std()).values]
#newdf.plot('Time', 'Data')

#---Original DataFrame
x = (q[0].time[:47374])
y = (q[0].data.f[:47374])
df = pd.DataFrame({'Time': x, 'Data': y})

#----Removes the outliers in a given DataFrame and plots a graph
newdf = df.copy()
newdf2 = df[~df.groupby('Data').transform( lambda x: abs(x-x.mean()) > 1.96*x.std()).values]
#newdf2.plot('Time', 'Data')

#---Original DataFrame
x = (w[0].time[:25504])
y = (w[0].data.f[:25504])
df = pd.DataFrame({'Time': x, 'Data': y})

#----Removes the outliers in a given DataFrame and plots a graph
newdf = df.copy()
newdf3 = df[~df.groupby('Data').transform( lambda x: abs(x-x.mean()) > 1.96*x.std()).values]
#newdf3.plot('Time', 'Data')

#---Original DataFrame
x = (e[0].time[:47172])
y = (e[0].data.f[:47172])
df = pd.DataFrame({'Time': x, 'Data': y})

#----Removes the outliers in a given DataFrame and plots a graph
newdf = df.copy()
newdf4 = df[~df.groupby('Data').transform( lambda x: abs(x-x.mean()) > 1.96*x.std()).values]
#newdf4.plot('Time', 'Data')

#---Original DataFrame
x = (r[0].time[:21317])
y = (r[0].data.f[:21317])
df = pd.DataFrame({'Time': x, 'Data': y})

#----Removes the outliers in a given DataFrame and plots a graph
newdf = df.copy()
newdf5 = df[~df.groupby('Data').transform( lambda x: abs(x-x.mean()) > 1.96*x.std()).values]
#newdf5.plot('Time', 'Data')

#---Original DataFrame
x = (t[0].time[:47211])
y = (t[0].data.f[:47211])
df = pd.DataFrame({'Time': x, 'Data': y})

#----Removes the outliers in a given DataFrame and plots a graph
newdf = df.copy()
newdf6 = df[~df.groupby('Data').transform( lambda x: abs(x-x.mean()) > 1.96*x.std()).values]
#newdf6.plot('Time', 'Data')

如果我删除注释 newdf.plot() 我将能够单独绘制所有图表,但我希望它们都在一张图表上。

是的,我已经读完了 http://matplotlib.org/examples/pylab_examples/subplots_demo.html但该链接没有任何在一个图表中包含多个图的示例。

我也读过这个:http://pandas-docs.github.io/pandas-docs-travis/visualization.html它有一些非常好的信息,但是在一个图中有多个图的示例使用相同的数据框。我有 6 个独立的数据框。我想到了解决我的问题的一种方法是将所有数据帧写入同一个 excel 文件,然后从 excel 中绘制它们,但这似乎太多了,我不需要将这些数据保存到 excel 文件中。

我的问题是:如何在同一张图中绘制多个 pandas 数据框。

我听从 Scott 的建议后的图表 enter image description here

enter image description here

图表大致应该是什么样子

最佳答案

您需要在 pandas.dataframe.plot 中使用 ax 参数。

在第一个 df.plot 上使用以获取该轴上的句柄:

ax = newdf.plot() 

然后在后续绘图中使用 ax 参数。

newdf2.plot(ax=ax)
...
newdf5.plot(ax=ax)

关于python - 在一张图中绘制多个 Pandas 数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45467320/

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