请选择 进入手机版 | 继续访问电脑版
楼主: casey_c
1271 3

[程序分享] Pandas 对象的数据运算 [推广有奖]

  • 0关注
  • 10粉丝

博士生

92%

还不是VIP/贵宾

-

威望
0
论坛币
96 个
通用积分
2.0091
学术水平
2 点
热心指数
15 点
信用等级
2 点
经验
11502 点
帖子
278
精华
0
在线时间
94 小时
注册时间
2016-11-22
最后登录
2022-5-2

casey_c 发表于 2017-1-6 10:47:09 |显示全部楼层 |坛友微信交流群
相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
Pandas 库对象的相关特性能够帮助我们很方便的达成一些列运算的结果,首先导入 Pandas 库和 Numpy 库
  1. import pandas as pd
  2. import numpy as np
复制代码
构造一个由4个十以内随机整数组成的 Pandas 序列和一个由十以内随机整数组成的3x4数据框:
  1. rng = np.random.RandomState(42)
  2. ser = pd.Series(rng.randint(0, 10, 4))
  3. ser
复制代码
1.png

  1. df = pd.DataFrame(rng.randint(0, 10, (3, 4)),
  2.                   columns=['A', 'B', 'C', 'D'])
  3. df
复制代码
2.png

可以看到,运用 Numpy 中的函数可以对 Pandas 对象中的元素进行复杂地运算:
  1. np.exp(ser)
复制代码
3.png

  1. np.sin(df * np.pi / 4)
复制代码
4.png

接着,我们构造两个带有指定序号名的 Pandas 序列,如下所示:
  1. area = pd.Series({'Alaska': 1723337, 'Texas': 695662,
  2.                   'California': 423967}, name='area')
  3. population = pd.Series({'California': 38332521, 'Texas': 26448193,
  4.                         'New York': 19651127}, name='population')
复制代码
我们可以将这两个序列相除,得到的结果序列中包含了所有在两个序列中出现过的序号名。需要注意的是,结果序列中只有在两个序列都存在的序号对应的位置上才有正确的计算结果,其余的为缺省值NaN:
  1. population / area
复制代码
5.png

  1. area.index | population.index
复制代码
6.png

当使用加号对两个 Pandas 序列进行相加运算时,我们得到的结果与上面相除结果类似——若对应的序号并非同时存在于两个序列中,则返回的值为NaN:
  1. A = pd.Series([2, 4, 6], index=[0, 1, 2])
  2. B = pd.Series([1, 3, 5], index=[1, 2, 3])
  3. A + B
复制代码
7.png

对于这种情况,我们可以运用 add 函数来完成相加并解决缺省值的问题——将参数 fill_value 的值设置为0,这样空缺序号对应的元素在计算时将会自动由0填补:
  1. A.add(B, fill_value=0)
复制代码
8.png


以上内容转自 数析学院 ,感兴趣的同学可以访问原文学习后续更多内容
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:pandas panda Das Population california import 元素

casey_c 发表于 2017-1-9 11:43:35 |显示全部楼层 |坛友微信交流群

使用道具

casey_c 发表于 2017-1-12 16:03:39 |显示全部楼层 |坛友微信交流群
好文顶一顶

使用道具

kkkm_db 发表于 2017-2-20 00:52:13 |显示全部楼层 |坛友微信交流群
顶一顶

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-18 21:38