Python 将多列有条件地乘以一列(在Excel中很容易)
我有这样一个数据帧:Python 将多列有条件地乘以一列(在Excel中很容易),python,pandas,dataframe,Python,Pandas,Dataframe,我有这样一个数据帧: a b c d m1 m2 3 2 2 2 5 4 1 4 1 1 5 4 3 2 2 3 5 4 我想用a和b乘以m1,用c和d乘以m2: a b c d m1 m2 15 10 8 8 5 4 5 20 4 4 5 4 15 10 8 12 5 4 同样保留了原始的dataframe结构,
a b c d m1 m2
3 2 2 2 5 4
1 4 1 1 5 4
3 2 2 3 5 4
我想用a和b乘以m1,用c和d乘以m2:
a b c d m1 m2
15 10 8 8 5 4
5 20 4 4 5 4
15 10 8 12 5 4
同样保留了原始的dataframe结构,这在Excel中相当简单,但事实证明很复杂,因为如果我尝试第一次乘法(m1),那么DF会删除未使用的列
干杯 与列名称列表定义的列子集一起使用:
df[['a', 'b']] = df[['a', 'b']].mul(df['m1'], axis=0)
df[['c', 'd']] = df[['c', 'd']].mul(df['m2'], axis=0)
print (df)
a b c d m1 m2
0 15 10 8 8 5 4
1 5 20 4 4 5 4
2 15 10 8 12 5 4
与列名称列表定义的列子集一起使用:
df[['a', 'b']] = df[['a', 'b']].mul(df['m1'], axis=0)
df[['c', 'd']] = df[['c', 'd']].mul(df['m2'], axis=0)
print (df)
a b c d m1 m2
0 15 10 8 8 5 4
1 5 20 4 4 5 4
2 15 10 8 12 5 4
这里有一种使用
这里有一种使用