numpy和pandas简单使用

import numpy as np
import pandas as pd

一维数据分析

numpy中使用array, pandas中使用series

numpy一维数组array

1.基本使用

a= np.array([2,3,4,5])
a
array([2, 3, 4, 5])
a[0]
2
a[1:3]
array([3, 4])
a.dtype
dtype('int64')

2.向量化计算

a=np.array([1,2,3])
b=np.array([4,5,6])
a + b
array([5, 7, 9])
a * b
array([ 4, 10, 18])

3.统计功能

np.mean(a)
2.0
np.std(a)
0.816496580927726

pandas一维数据结构series

1.基本使用

stocks=pd.Series([54.74,190.0,173.14,1050.3,181.86,1139.49],index=['腾讯','阿里巴巴','苹果', '谷歌', 'Facebook', '亚马逊'])
  • 描述统计信息
stocks.describe()
count       6.000000
mean      464.921667
std       491.284358
min        54.740000
25%       175.320000
50%       185.930000
75%       835.225000
max      1139.490000
dtype: float64
  • 按照位置取值
stocks.iloc[0]
54.74
  • 按照索引取值
stocks.loc['腾讯']
54.74

2.向量化计算

s1 = pd.Series([1,2,3,4], index=['a', 'b', 'c', 'd'])
s2 = pd.Series([10,20,30,40], index=['a', 'b', 'e', 'f'])
s3 = s1 + s2
s3
a    11.0
b    22.0
c     NaN
d     NaN
e     NaN
f     NaN
dtype: float64
  • 相同index名称相加,index不同默认结果为NaN
  • 下面两种去除NaN的方法
s3.dropna()
a    11.0
b    22.0
dtype: float64
s3 = s1.add(s2, fill_value=0)
s3
a    11.0
b    22.0
c     3.0
d     4.0
e    30.0
f    40.0
dtype: float64

二维数据分析

numpy二维数组array

1.基本使用

a = np.array([[1,2,3, 4],[5,6,7,8],[9,10,11,12]])
a
array([[ 1,  2,  3,  4],[ 5,  6,  7,  8],[ 9, 10, 11, 12]])
a[0,2]
3
  • 取第一行
a[0,:]
array([1, 2, 3, 4])
  • 取第一列
a[:, 0]
array([1, 5, 9])
  • 按行计算均值 axis=1 按行 axis=0 按列
a.mean(axis=1)
array([ 2.5,  6.5, 10.5])

pandas二维数据结构DataFrame

1.基本使用

  • 向DataFrame中传入一个字典
salesDict = {'购药时间': ['2018-01-01 星期五', '2018-01-02 星期六', '2018-01-06 星期三'],'社保卡号': ['001616528', '001616528', '0012602828'],'商品编码': [236701, 236701, 236701],'商品名称': ['强力VC银翘片', '清热解毒口服液', '感康'],'销售数量': [6,1,2],'应收金额': [82.8,28,16.8],'实收金额': [69, 24.64, 15]
}
saleDf=pd.DataFrame(salesDict)
saleDf
购药时间 社保卡号 商品编码 商品名称 销售数量 应收金额 实收金额
0 2018-01-01 星期五 001616528 236701 强力VC银翘片 6 82.8 69.00
1 2018-01-02 星期六 001616528 236701 清热解毒口服液 1 28.0 24.64
2 2018-01-06 星期三 0012602828 236701 感康 2 16.8 15.00
  • 使用OrderedDict保证数据有序
from collections import OrderedDict
salesOrderDict = OrderedDict(salesDict)
salesDf = pd.DataFrame(salesOrderDict)
salesDf
购药时间 社保卡号 商品编码 商品名称 销售数量 应收金额 实收金额
0 2018-01-01 星期五 001616528 236701 强力VC银翘片 6 82.8 69.00
1 2018-01-02 星期六 001616528 236701 清热解毒口服液 1 28.0 24.64
2 2018-01-06 星期三 0012602828 236701 感康 2 16.8 15.00
  • 统计功能
salesDf.mean()
商品编码    236701.000000
销售数量         3.000000
应收金额        42.533333
实收金额        36.213333
dtype: float64
  • 按照位置读取数据
salesDf.iloc[0,1]
'001616528'
  • 读取第一行数据
salesDf.iloc[0,:]
购药时间    2018-01-01 星期五
社保卡号         001616528
商品编码            236701
商品名称           强力VC银翘片
销售数量                 6
应收金额              82.8
实收金额                69
Name: 0, dtype: object
  • 读取第一列数据
salesDf.iloc[:,0]
0    2018-01-01 星期五
1    2018-01-02 星期六
2    2018-01-06 星期三
Name: 购药时间, dtype: object
  • 按照列名称读取数据
  • 读取某一列或某几列数据
salesDf.loc[:,'商品名称']
0    强力VC银翘片
1    清热解毒口服液
2         感康
Name: 商品名称, dtype: object
salesDf.loc[:, ['商品名称', '销售数量']]
商品名称 销售数量
0 强力VC银翘片 6
1 清热解毒口服液 1
2 感康 2
  • 读取列数据的简单写法
salesDf['商品名称']
0    强力VC银翘片
1    清热解毒口服液
2         感康
Name: 商品名称, dtype: object

2.筛选查询

  • 构建查询条件
querySet = salesDf.loc[:, '销售数量'] > 1
type(querySet)
pandas.core.series.Series
querySet
0     True
1    False
2     True
Name: 销售数量, dtype: bool
  • 应用查询条件
salesDf.loc[querySet,:]
购药时间 社保卡号 商品编码 商品名称 销售数量 应收金额 实收金额
0 2018-01-01 星期五 001616528 236701 强力VC银翘片 6 82.8 69.0
2 2018-01-06 星期三 0012602828 236701 感康 2 16.8 15.0

3.pandas读取execl

这里依赖于xlrd

fileNameStr = './手机销售情况.xlsx'
xls = pd.ExcelFile(fileNameStr)
salesDf = xls.parse('Sheet1')
  • 读取前5行
salesDf.head()
商品名称 单价 销量
0 IphoneXsMax 9900 100000
1 IphoneXR 5000 500000
2 小米9 2999 2000000
3 IpadMini5 2999 100000000
  • 查看数据类型
salesDf.loc[:, '单价'].dtype
dtype('int64')
salesDf.dtypes
商品名称    object
单价       int64
销量       int64
dtype: object
  • 查看数据行数列数
salesDf.shape
(4, 3)
  • 每一列的描述统计信息
salesDf.describe()
单价 销量
count 4.000000 4.000000e+00
mean 5224.500000 2.565000e+07
std 3256.603599 4.957341e+07
min 2999.000000 1.000000e+05
25% 2999.000000 4.000000e+05
50% 3999.500000 1.250000e+06
75% 6225.000000 2.650000e+07
max 9900.000000 1.000000e+08

转载于:https://www.cnblogs.com/Peter2014/p/10611010.html

numpy和pandas简单使用相关推荐

  1. Numpy和Pandas的简单使用

    Numpy和Pandas的简单使用 Numpy Numpy基本数据结构 Numpy基本操作和属性 Numpy矩阵运算 Pandas pandas数据读取 pandas数据展示 Pandas数据处理 P ...

  2. 让数据分析更便捷快速,了解这12种Numpy和Pandas函数

    选自TowardsDataScience 作者:Kunal Dhariwal 机器之心编译 我们都知道,Numpy 是 Python 环境下的扩展程序库,支持大量的维度数组和矩阵运算:Pandas 也 ...

  3. python做数据分析的包_用Python做数据分析,Numpy,Pandas,matp

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 用Python做数据分析,Numpy,Pandas,matplotlib是怎么也绕不开的三个包,我最开始学习pandas是看的<利用Python进行 ...

  4. NumPy和Pandas常用库

    NumPy和Pandas常用库 1.NumPy NumPy是高性能科学计算和数据分析的基础包.部分功能如下: ndarray, 具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组. 用于对整组数 ...

  5. python使用教程pandas-python学习教程之Numpy和Pandas的使用

    前言 本文主要给大家介绍了关于python中Numpy和Pandas使用的相关资料,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 它们是什么? NumPy是Python语言的一个扩 ...

  6. Python 学习 —— Numpy 、Pandas 傻傻分不清楚

    之前的文章里面谈到过,我从R转到Python上,一个很大的不习惯就是R的数据结构比较简单,但是Python的数据类型比较多,很容易就令人头脑混乱.但是今天学习了一下Udacity的课程,顿时就清楚多了 ...

  7. 加速数据分析,这12种高效Numpy和Pandas函数为你保驾护航

    我们都知道,Numpy 是 Python 环境下的扩展程序库,支持大量的维度数组和矩阵运算:Pandas 也是 Python 环境下的数据操作和分析软件包,以及强大的数据分析库.二者在日常的数据分析中 ...

  8. [Python从零到壹] 十一.数据分析之Numpy、Pandas、Matplotlib和Sklearn入门知识万字详解(1)

    欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...

  9. 每天10分钟用python学数据分析_用Python做数据分析,Numpy,Pandas,matp

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 用Python做数据分析,Numpy,Pandas,matplotlib是怎么也绕不开的三个包,我最开始学习pandas是看的<利用Python进行 ...

最新文章

  1. 生化医学文章模式图素材
  2. python爬虫正则表达式实例-Python爬虫(十一)_案例:使用正则表达式的爬虫
  3. Android 混淆打包
  4. 微信数据分析包准备(Python)
  5. Visual Studio 2017 社区版的安装与组件修改(C++)
  6. RUNOOB python练习题5
  7. 经典数据结构——堆的实现
  8. mysql实际应用在哪里_MySQL数据库的实际应用步骤
  9. 函数指针c语言typedef,typedef 函数指针的用法(附例子)
  10. 2021-2025年中国窗帘行业市场供需与战略研究报告
  11. 记录CodeForces第一次比赛经历
  12. python基础之流程控制(if判断和while、for循环)
  13. 面试题ajax干什么的,ajax面试题
  14. 【Java】JavaSocket编程开发聊天室-客户端核心部分
  15. pandas绘图plot函数
  16. pycharm前进、后退快捷键
  17. Linux nodejs 安装以及配置环境
  18. ios(ipad,iphone)屏幕旋转检测通用方法
  19. Android R上展讯平台CameraAPP的Settings设置项管理
  20. Linux:GRO generic offload; TSO

热门文章

  1. anaconda安装包
  2. 哈罗数据分析(SQL)笔试
  3. PDF怎么编辑注释? 5 个免费好用的 PDF 注释器
  4. AppScan--图解web扫描工具IBM Security AppScan Standard
  5. 【webpack5】webpack-dev-server 热更新不能自动刷新浏览器
  6. iphone开发 图片存相册
  7. 春暖花开,共迎未来:开源社顾问委员会第一季度会议顺利召开~
  8. https证书存在错误该怎么解决
  9. sql根据身份证号计算现在的年龄
  10. Pcb课程设计2(GD32E230核心板)