在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(null, 10): book['Price'].at[i] = book['ListPrice'].at[i] * book['Discount'].at[i] print(book)
输出:
对应代码文件:
F:\Project\python\src\WangYiYun\DataAnalysis\15.py
假如我们要构建新特征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)
以上为个人经验,希望对您有所帮助。