pandas计算两列相乘
在excel中计算两列相乘是十分容易的,在pandas中也是如此
如下表中的Discoount 和 ListPrice相乘

直接上python代码:
# @DATE : 2021-1-2
# @TIME : 11:49
# @USER : kirin
# 利用pandas计算打折后的价格
import pandas as pd
book = pd.read_csv("data/book_sel_2.csv", index_col='id')
# 操作符的重载,在pandas中 * 如果他的两边都是列,那么,它会把两边进行对齐,相乘
# 方法一:
# book['Price'] = book['ListPrice'] * book['Discount']
# 也可以列 * 数字
# book['Price'] = book['ListPrice'] * 0.8
# 方法二:
# 对整个index进行运算:
# for i in book.index:
# book['Price'].at[i] = book['ListPrice'].at[i] * book['Discount'].at[i]
# 如果你并不是想全部相乘,而是对其中的部分进行运算:
for i in range(5, 10):
book['Price'].at[i] = book['ListPrice'].at[i] * book['Discount'].at[i]
print(book)
输出:

对应代码文件:
F:\Project\python\src\WangYiYun\DataAnalysis\15.py
dataframe两列相乘构造新特征
假如我们要构建新特征b
目的是从a中筛选出数值在4~6之间的数据,如果符合就是True,否则就是False。
那么代码如下:
import pandas as pd
lists=pd.DataFrame({'a':[1,2,3,4,5,6,7,8,9]})
lists['b']=(lists['a']<6).mul(lists['a']>4)
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

