插件窝 干货文章 pandas中计算两列相乘实例

pandas中计算两列相乘实例

相乘 book class pandas 589    来源:    2024-10-17

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(null, 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)

总结

以上为个人经验,希望对您有所帮助。