ad hoc两列python的总和

时间:2018-02-15 15:18:56

标签: python matplotlib ggplot2 python-ggplot

我有一个包含2列的数据框,即mean和sd。

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

我不想创建第三列,但我想将:mean + sd绘制为一列。

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

compute Nletters=length(rtrim(MyString)). compute MyCount=0. loop #n=1 to Nletters. if char.substr(MyString,#n,1)="i" MyCount=MyCount+1. end loop. exe. 等,而不将数据保存到列中。

1 个答案:

答案 0 :(得分:3)

要绘制的数据需要在内存中的某个位置;数据帧列是实现这一目标的一个方面。 假设以下数据

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 plotting包装器。只需添加两列。

(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))