Pandas 平均轴参数
Pandas Mean Axis Argument
我有一个这样形式的数据集:
+--------+---+---------+--------+-------+-------+-------+
| | A | B | C | D | E |
+------------+---------+--------+-------+-------+-------+
| 0 | 1 | 2 | 3 | 4 | AB |
+------------+---------+--------+-------+-------+-------+
我想计算 B 到 D 之间的行值的平均值。因此第 0 行将是:
B+C+D/(3) = 3
我该怎么做?
您可以在所选列上使用 .mean(axis=1)
。添加 axis=1
意味着它将应用于水平轴,或按行:
a = {'A':[1],'B':[2],'C':[3],'D':[4],'E':['AE']}
df = pd.DataFrame(a)
cols = ['B','C','D']
df['Average'] = df[cols].mean(axis=1)
print(df)
输出:
A B C D E Average
0 1 2 3 4 AE 3.0
您可以使用df.mean
df.loc[:, "b":"d"].mean(axis=1)
df = pd.DataFrame({"a": [1, 2], "b": [2, 3], "c": [3, 4], "d": [4, 5], "e": list("AB")})
df["s"] = df.loc[:, "b":"d"].mean(axis=1)
输出:
Out[12]: a b c d e s
0 1 2 3 4 A 3.0
1 2 3 4 5 B 4.0
我有一个这样形式的数据集:
+--------+---+---------+--------+-------+-------+-------+
| | A | B | C | D | E |
+------------+---------+--------+-------+-------+-------+
| 0 | 1 | 2 | 3 | 4 | AB |
+------------+---------+--------+-------+-------+-------+
我想计算 B 到 D 之间的行值的平均值。因此第 0 行将是:
B+C+D/(3) = 3
我该怎么做?
您可以在所选列上使用 .mean(axis=1)
。添加 axis=1
意味着它将应用于水平轴,或按行:
a = {'A':[1],'B':[2],'C':[3],'D':[4],'E':['AE']}
df = pd.DataFrame(a)
cols = ['B','C','D']
df['Average'] = df[cols].mean(axis=1)
print(df)
输出:
A B C D E Average
0 1 2 3 4 AE 3.0
您可以使用df.mean
df.loc[:, "b":"d"].mean(axis=1)
df = pd.DataFrame({"a": [1, 2], "b": [2, 3], "c": [3, 4], "d": [4, 5], "e": list("AB")})
df["s"] = df.loc[:, "b":"d"].mean(axis=1)
输出:
Out[12]: a b c d e s
0 1 2 3 4 A 3.0
1 2 3 4 5 B 4.0