美文网首页
Pandas 复杂公式计算

Pandas 复杂公式计算

作者: Noza_ea8f | 来源:发表于2020-03-22 16:42 被阅读0次

这个应该是非常实用的!!!

公式越复杂,pandas越比Excel好用;
下面是一个计算长方形外接圆面积的例子:

import pandas as pd
import numpy as np


# 定义复杂函数
def gei_circumcircle_area(w, h):
    '''
    求外接圆面积的公式
    :param w: 宽
    :param h: 高
    :return: 外接圆面积
    '''
    # 计算圆的半径
    r = np.sqrt(w ** 2 + h ** 2) / 2
    return r ** 2 * np.pi


# 定义一个装饰函数
def wrapper(row):
    # 因为pandas是一行一行进行扫描,然后把数据作为一个列表传给函数
    return gei_circumcircle_area(row['width'], row['height'])


df = pd.read_excel('data/复杂函数计算.xlsx', index_col='ID')
# 增加外接圆面积列
df['外接圆面积'] = df.apply(wrapper, axis=1)
print(df)

装饰函数有时候容易引起误解;

尤其是本来需要传参,但是在apply里面似乎并没有参数传给wrapper,那么我只能猜测apply自动提供了传参;
如果觉得不习惯,还可以使用lambda表达式,尽管我也不喜欢lambda;

df['外接圆面积'] = df.apply(lambda row: gei_circumcircle_area(row['width'], row['height']), axis=1)

不过看起来好理解一些了!

还有一种更人性化的解决方案:

df['外接圆面积'] = gei_circumcircle_area(df['width'], df['height'])

这是pandas的一个特别之处;
它的哲学是因为列于列之间的每个元素都进行相同的运算;
那么可以把列作为参数进行传递,意思就是这些列的元素进行同样的处理;

列与列之间的计算,非常简单!

df['周长'] = (df['width'] + df['height']) * 2

相关文章

  • Pandas 复杂公式计算

    这个应该是非常实用的!!! 公式越复杂,pandas越比Excel好用;下面是一个计算长方形外接圆面积的例子: 装...

  • 学习——造价师-管理(九)

    前言:工程经济只要理解了,就会了。不建议背公式,公式更适用于复杂的计算,工程经济至少考试的时候计算都比较简单。记多...

  • 随机算法的应用

    用于计算概率,无需通过复杂的数学公式进行具体场景的概率计算,只需用随机数模拟出相关场景,即可得到对应概率。 计算生...

  • 纺织基础知识大全

    01 纺织常用计算公式分为 定长制计算公式和定重制计算公式二种。 1、定长制计算公式: (1)、旦尼尔(D):D=...

  • Pandas统计计算和描述

    Pandas统计计算和描述 常用的统计计算 统计描述

  • 计算cell block的面积

    Density 计算公式: Density 又称Utilization, 计算公式如下。 leaf cell 面积...

  • 递归时间复杂度计算公式

    master公式的使用 T(N) = a*T(N/b) + O(N^d) T(N)是样本量为N的情况下的时间复杂度...

  • BN层合并原理及实现

    原理 卷积层计算公式 BN层计算公式 公式推导 代码实现 基于caffe的python接口实现 问题及思考 由公式...

  • 筑梦计划day23:神奇的72公式

    算基金收益太复杂,如果你跟我一样不知道复利如何计算,不如了解一下这个神奇的72公式。初次了解这个公式,来自《小狗钱...

  • 【美国房产】美国房产税哪个州最高?

    许多复杂的数学用于计算房产税率,但这个计算最终回到房产价值的百分比。这些百分比是计算的结果。各州根据自己独特的公式...

网友评论

      本文标题:Pandas 复杂公式计算

      本文链接:https://www.haomeiwen.com/subject/padvyhtx.html