100天搞定机器学习(100-Days-Of-ML)(十六)Pandas数值运算方法

第十六天

Pandas数值运算方法

Numpy的基本功能之一是快速对每个元素进行运算,即包括基本算术,也包括更复杂的运算。Pandas继承了Numpy的功能。

但是Pandas也实现了一些高效技巧:对于一元运算(像函数与三角函数),这些通用函数将在输出结果中保留索引和列标签;而对于二元运算(如加法和乘法),Pandas 在传递通用函数时会自动对齐索引进行计算。这就意味着,保存数据内容与组合不同来源的数据——两处在NumPy 数组中都容易出错的地方——变成了Pandas 的杀手锏。

一、通用函数:保留索引

因为Pandas 是建立在NumPy 基础之上的,所以NumPy 的通用函数同样适用于Pandas 的Series 和DataFrame 对象。

import pandas as pd
import numpy asnp

rng = np.random.RandomState(42)
ser = pd.Series(rng.randint(0, 10, 4))
ser
# 
0 6
1 3
2 7
3 4
dtype: int64

df = pd.DataFrame(rng.randint(0, 10, (3, 4)),columns=['A','B','C','D'])
df
#
  A B C D
0 6 9 2 6
1 7 4 3 7
2 7 2 5 4

如果对这两个对象的其中一个使用NumPy 通用函数,生成的结果是另一个保留索引的Pandas 对象:

np.exp(ser)
#
0 403.428793
1 20.085537
2 1096.633158
3 54.598150
dtype: float64

或者,再做一个比较复杂的运算:

np.sin(df * np.pi / 4)
#
          A            B        C             D
0 -1.000000 7.071068e-01 1.000000 -1.000000e+00
1 -0.707107 1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值