python - python绘制两列的总和

标签 python matplotlib ggplot2 python-ggplot

我有一个包含 2 列的数据框,即平均值和标准差。

有什么方法可以临时绘制这两列的总和吗?

我不想创建第三列,但我想将平均值 + sd 绘制为一列。

在使用 ggplot 的 R 世界中,您可以使用 dplyr 并执行以下操作:

df %>% mutate(sumsd = sum+sd) %>% ggplot(.) 等,而不将数据保存到列中。

最佳答案

要绘制的数据需要位于内存中的某个位置;数据框列是实现这一目标的方法之一。 假设有以下数据

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

a = np.random.rand(100,20)
df = pd.DataFrame({"mean" : np.mean(a,1),
                    "std" :  np.std(a,1)})

您现在可以使用 pandas 绘图包装器。只需添加两列即可。

(df["mean"]+df["std"]).plot()

您还可以对数据帧求和,

df.sum(axis=1).plot()

或者如果您有更多列,

df[["mean","std"]].sum(axis=1).plot()

当然可以直接使用 matplotlib 来完成同样的事情,

# case 1
plt.plot(df.index, (df["mean"]+df["std"]))
# case 2
plt.plot(df.index, df.sum(axis=1))
# case 3
plt.plot(df.index, df[["mean","std"]].sum(axis=1))

关于python - python绘制两列的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48810556/

相关文章:

r - 在ggplot2中增加axis.title和axis.text之间的空间(版本> = 0.9.0)

python - 获取给定整数的整个因子对列表的最简单方法是什么?

python - 为什么在 Python 中使用 PIL 调整图像大小时会得到负像素值?

python - 在没有任何装饰的 Firefox 窗口中打开 jupyter

python - 如何将 Abaqus python 库集成到 PyCharm 中托管的项目中

matplotlib - 你如何在 matplotlib 中绘制一个颠倒的直方图?

Python 和 Matplotlib : creating two subplots with different sizes

r - ggplot2:无法使用 geom_ribbon 为相交线之间的区域着色

r - 如何将散点图变成数字?

matplotlib - Jupyter 输出单元格在多个图形上折叠