Python中DataFrame按列与对应常量相乘的实现问题
Pandas DataFrame列与对应常量批量相乘的解决方法
方法一:使用mul()方法(推荐,简洁高效)
先构造原始DataFrame,然后通过字典指定各列的乘数,利用mul()方法完成批量相乘:
import pandas as pd # 创建原始DataFrame df = pd.DataFrame({ 'A': [28, 10], 'B': [5, 15], 'C': [8, 3], 'D': [10, 5] }) # 定义各列对应的乘数字典 multipliers = {'A': 5, 'B': 10, 'C': 7, 'D': 20} # 执行列与对应常量的乘法 result_df = df.mul(multipliers) # 查看结果 print(result_df)
执行后输出:
A B C D 0 140 50 56 200 1 50 150 21 100
mul()方法会自动根据列名匹配字典中的乘数,精准完成对应列的批量运算,适合列数较多的场景。
方法二:逐列手动赋值(适合新手理解)
如果需要更直观的操作,可以逐列指定乘法运算:
import pandas as pd df = pd.DataFrame({ 'A': [28, 10], 'B': [5, 15], 'C': [8, 3], 'D': [10, 5] }) # 逐列与对应常量相乘 df['A'] *= 5 df['B'] *= 10 df['C'] *= 7 df['D'] *= 20 print(df)
这种方法逻辑直白,适合列数较少的情况,但列多的时候效率不如第一种方法。
内容的提问来源于stack exchange,提问作者Billy Odera
相关产品推荐
相关产品推荐

