根据数字在另一列 Pandas 数据帧 Python 中的出现计算列的平均值
Calculating mean of column based on the occurence of a number in another column Pandas dataframe Python
我有一个 Pandas 数据框,如下所示。我想要做的是计算 s2 列的平均值,每次在 s1 中出现“5”。
s1 s2
5 0.5
1 0.43
5 1
5 1
在这种情况下,5 出现了 3 次,所以我们取 0.5+1+1=0.83 的平均值。
有人可以帮我计算一下吗?谢谢!
试试这个
df[df['s1']==5]['s2'].mean()
mean = df.loc[df['s1'] == 5, 's2'].mean()
输出:
0.8333333333333334
如果你想分解上面的答案,试试这个 -
import pandas as pd
data = [[5, 0.5], [1, .43], [5, 1], [5, 1]]
df = pd.DataFrame(data, columns = ['S1', 'S2'])
df = df.loc[df['S1'] == 5]
df["S2"].mean()
我有一个 Pandas 数据框,如下所示。我想要做的是计算 s2 列的平均值,每次在 s1 中出现“5”。
s1 s2
5 0.5
1 0.43
5 1
5 1
在这种情况下,5 出现了 3 次,所以我们取 0.5+1+1=0.83 的平均值。 有人可以帮我计算一下吗?谢谢!
试试这个
df[df['s1']==5]['s2'].mean()
mean = df.loc[df['s1'] == 5, 's2'].mean()
输出:
0.8333333333333334
如果你想分解上面的答案,试试这个 -
import pandas as pd
data = [[5, 0.5], [1, .43], [5, 1], [5, 1]]
df = pd.DataFrame(data, columns = ['S1', 'S2'])
df = df.loc[df['S1'] == 5]
df["S2"].mean()