pandas 每一列相加_大数据学习-pandas:第五步:基础数据计算

116385c195f45f012318906ebe5a36b6.png

数据分析肯定少不了数据间的计算,在excel中我们可以在单元格里面运算两个单元格的数据,自动填充即可完成整列的计算,而在pandas中有更为完善和简单的运算方法:

重要知识点:

  • 数据计算总是会产生新的对象
  • Sreies和DataFrame的计算要考虑是否有共同的索引
  • 序列之间,DataFrame内部,DataFrame之间,以及他们和整数之间都可以运算
  • 数值可以运算,文本也可以运算
  • 如果你想在运算结果替换上次的运算就用相同的标签名:data["文本"]=data["文本"]*2

实例:

导入需要的模块:

#ecoding:utf-8# Created by Administrator at 2018-8-27import pandas as pdimport numpy as npimport osfrom tkinter.filedialog import askdirectoryimport tkinter as tkfrom tkinter import filedialogimport matplotlib as plt

导入数据:

data=pd.read_csv("1M.csv")data
01372481e1fac7e84102cbadffd5dd3c.png

Series

导入的是一个csv,导入到pandas后为DataFrame,我们先去两列数据作为Sreies,看看如何进行数计算:

s1=data["col1"]s2=data["col2"]s1+s2
0dd8aa73c575ed215b8b7ed2b1382148.png

下面来看一下Sreies的自动对齐功能:

重新构建两个Series:

d1=data.loc[0:10,"col1"]d2=data.loc[4:15,"col2"]d1+d2
bcbdcd083bac4d41a935fdc04c9b49c0.png

因为两个序列的索引不是完全相同,pandas会自动将两个序列都含有的索引进行相加

不仅加减可以,乘除也是可以,也可以更复杂:

(s1+s2)/s2**2
1680a356b3fbbee37ad2fc0f94f74fd3.png

与整数运算:

s1+5
30a6efb5b0a40d9e4c70a6664a5533d1.png

DataFrame

在DataFrame中的数据计算很类似于Sreies,但我们通常会将结果赋值给新的一列:

data["加法"]=data["col1"]+data["col2"]data["减法"]=data["col1"]-data["col2"]data["乘法"]=data["col1"]*data["col2"]data["除法"]=data["col1"]/data["col2"]data
7d5d89aa253873e51ded9212effc4a40.png

与整数运算:

data["整数加法"]=data["col1"]+10
1ffca44dd6ce23d59368d2a39cd3f90c.png

DataFrame与Sreies运算

data["DS"]=data["col1"]+s1data
62dab058932eb361fbe6d3493cd58982.png

如果两个数据索引是不相等的话:

data["DS2"]=data["col1"]+d2

data与d2交集的部分才会有计算结果

6a3955a5c8783f8032ea907ff9f1c691.png

DataFrame全部的数据*2

data=data*2data
b2f40a4bd6e8c391cf63234c0d931139.png

如果数据中有文本会怎么样?

data["文本"]="hello"
7b8abd19ea5deb8d094fd5be7062e207.png

文本也会被*2

data=data*2
9a702f02b2e34c0f487fc51362592b12.png

如果你想单独让文本*2也可以:

data["文本"]=data["文本"]*2data
6474815a6540c07e2d48092c5d0d93b5.png

DataFrame之间的运算:

复制一个新数据:

data2=data[["col1
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值