我有一个包含 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/