Pandas(一) 基础知识
1、Pandas 的起源 -Numpy
- Pandas 是基于Numpy构建的含有更高级数据结构和工具的数据分析包。
- Numpy是一个python第三方扩展程序库。支持大量的维度数组和矩阵运算,除此之外也针对数组运算提供大量的数学函数库。
1.1 数组(ndarray)的定义
- 用np.array()可以将列表数据类型(List)转化为ndarray数组。
- np.array是一个函数方法,用来创建一个ndarray对象。ndarray数组是用np.ndarray类的对象表示n维数组。
- nparray数组一般要求所有元素类型相同(同质)数组下标从0开始。
- 数组输出成[ ]形式,元素间由空格分开。
- 引入Numpy的约定别名一般是np,ndarray(数组)是Numpy最重要的数据类型。
- 引入规则 : import numpy as np
import numpy as npa = np.array([[0,12,3,4,5],[6,7,8,9,10]])
print(a)输出:
[[ 0 1 2 3 4 5][ 6 7 8 9 10 11]]
1.2 数组(ndarray)与列表(list)的区别
- 列表内部元素使用逗号分开,数组内部元素间用空格分开。
同一个列表里可以接收不同类型的数据,数组一般要求所有元素类型相同(称为同质,有助于节省运算和存储空间)。
- 数组对象可以去掉元素间循环直接计算(提升性能),列表需要循环。
- Pandas是基于NumPy的改造,因此Pandas也有相似的特征,可以提高运算。
1.3 ndarray的属性
- 数组维度ndim。
- 数组形状(行列)shape。
- 数组中元素的个数size(shape乘积)。
- 数组内元素的类型dtype。
1.4 Numpy数组数据类型dtype
为了区别于python原生数据类型,合理使用存储空间并优化计算性能,bool/int/float/str等类型名称末尾都加上了_或位数。如下表
1.5 Numpy常用函数
import numpy as npb = np.random.random((2,4))
print(b) # 两行四列数组
print(np.sum(b)) # 求和
print(b.sum()) # 求和
print(np.min(b))
print(np.max(b))输出:
[[0.10255578 0.09103664 0.98938642 0.74137929][0.47280561 0.55578626 0.1305344 0.61379109]]
3.697275470709449
3.697275470709449
0.09103663709228238
1.6 ndarry 对象
- NumPy 最重要的一个特点是其 N 维数组对象 ndarray,它是一系列同类型数据的集合,以 0 下标为开始进行集合中元素的索引。
- ndarray 对象是用于存放同类型元素的多维数组。
- ndarray 中的每个元素在内存中都有相同存储大小的区域。
- 语法:numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)
参数说明:
object |
数组或嵌套的数列 |
dtype |
数组元素的数据类型,可选 |
copy |
对象是否需要复制,可选 |
order |
创建数组的样式,C为行方向,F为列方向,A为任意方向(默认) |
subok |
默认返回一个与基类类型一致的数组 |
ndmin |
指定生成数组的最小维度 |
实例:
import numpy as np# 多于一个维度
n1 = np.array([[1, 2, 3], [11, 22, 33], [111, 222, 333]])
print(n1)输出:
[[ 1 2 3][ 11 22 33][111 222 333]]# 最小维度ndmin
n2 = np.array([[1, 2, 3], [11, 22, 33], [111, 222, 333]],ndmin=3)
print(n2)输出:
[[[ 1 2 3][ 11 22 33][111 222 333]]]# dtype 参数
n3 = np.array([[1, 2, 3], [11, 22, 33], [111, 222, 333]],ndmin=3,dtype=str)
print(n3)输出:
[[['1' '2' '3']['11' '22' '33']['111' '222' '333']]]
2、Pandas
2.1 简介
- Pandas是Python第三方库,提供高性能易用数据类型和分析工具,提供了核心数组操作,它定义了处理数据的基本结构,并且赋予它们促进操作的方法,例如:
- 读取数据
- 调整索引
- 使用日期和时间序列
- 排序,分组,重新排序和数据调整
- 处理缺失值等
- 引入规则 import pandas as pd。
- Pandas包含两种数据类型:Series 和 DataFrame(DataFrame数据框就相当于我们平时接触的excel表格,Series数据类型就相当于从excel表中任取一列进行操作)。
- Numpy 和 Pandas的区别:
- Numpy只能存储相同数据类型的array,Pandas能处理不同数据类型的数据(例如:二维表格中不同列可以是不同类型的数据,一列为整数一列为字符串)。
- Numpy是数值计算扩展包,处理数组和矩阵非常方便。Pandas是python的一个数据分析包,是基于Numpy的一种工具,主要做数据处理用的,以处理二维表格为主提供处理数据的函数和方法。
- Numpy用于数值计算。Pandas用于数据处理和分析。
- Numpy核心数据结构是n维数组类型ndarray。 Pandas核心数据结构是Series和DataFrame。
2.2 Series 数据结构
Series 由索引(index)和列组成,函数如下:
语法:pandas.Series(data,index,dtype,name,copy)
参数说明如下:
- data:一组数据(ndarry类型)
- index:数据索引标签,如果不指定,默认从0开始
- dtype:数据类型,默认会自己判断
- name:设置名称
- copy:拷贝数据,默认False
实例如下:
import pandas as pd
data = [1,2,3]
df1 = pd.Series(data,index=["X","Y","Z"])
print(df1)输出:
X 1
Y 2
Z 3
dtype: int64
2.3 DataFrame 数据结构
- Pandas中的数据结构-DataFrame,它以表格形式存储,并且有对应的行和列。
- DataFrame和我们日常中使用的Excel长的相似,和数据库表也如出一辙。
- DataFrame是一个表格型的数据类型,每列值类型可以不同。
- DataFrame既有行索引,也有列索引。
- DataFrame常用于二维数据。
- 语法:pd.DataFrame(data,columns=[序列],index=[序列]) ,columns(列名)和index不写,默认从0开始的数字。
pandas.DataFrame( data, index, columns, dtype, copy)
参数说明:
- data:一组数据(ndarry,series,map,lists,dict等类型)
- index:索引值,或者称为行标签
- columns:列标签,默认RangeIndex(0,1,2......n)
- dtype:数据类型
- copy:拷贝数据,默认为Flase
- 创建一个DataFrame
import pandas as pd# 通过列表创建
data = [["100-浙江公司", 11111.00, 7777.00], ["200-北京公司", 22222.00, 8888.00], ["300-上海公司", 33333.00, 9999.00]]
print(pd.DataFrame(data=data, columns=["公司", "收入", "成本"], index=range(1, 4)))# 通过字典创建
dic_data = {"公司": ["100-浙江公司", "200-北京公司", "300-上海公司"],"收入": [11111.00, 22222.00, 33333.00],"成本": [7777.00, 8888.00, 9999.00]}
print(pd.DataFrame(data=dic_data))输出:公司 收入 成本
1 100-浙江公司 11111.0 7777.0
2 200-北京公司 22222.0 8888.0
3 300-上海公司 33333.0 9999.0公司 收入 成本
0 100-浙江公司 11111.0 7777.0
1 200-北京公司 22222.0 8888.0
2 300-上海公司 33333.0 9999.0
2.3.1 Jupyter 安装及使用
- pip install jupyter
- 创建空文件夹(例如:Jupyter_Notebooks)
- 打开本地文件夹Jupyter_Notebooks终端,执行命令:jupyter notebook
- 开启Jupyter
- 默认浏览器访问URL:http://localhost:8888/tree
2.4 DataFrame 的属性
2.5 DataFrame 和 Series相互转化
DataFrame单独取一行或者一列就是一个Series,也可以将Series转化成单列的DataFrame。
2.6 DataFrame 的简单运算
例如:计算每家公司的毛利和毛利率
DataFrame的计算具有自动对齐功能,所以计算结果会一一对应索引。
Pandas(一) 基础知识相关推荐
- 艺赛旗(RPA) Pandas 类库基础知识
艺赛旗 RPA8.0全新首发免费下载 点击下载 http://www.i-search.com.cn/index.html?from=line1 详细内容请参看艺赛旗官网支持栏目:RPA社区 点击链接 ...
- 数据分析一、 pandas库基础知识
pandas库基础知识 一.jupyter 代码编辑器 概述:Python 数据分析库介绍 二.pandas 库基础知识 (1)常用的Series属性与方法: (2) DataFrame常用方法 1. ...
- pandas追加写入excel_快速介绍Python数据分析库pandas的基础知识和代码示例
"软件工程师阅读教科书作为参考时不会记住所有的东西,但是要知道如何快速查找重·要的知识点." 为了能够快速查找和使用功能,使我们在进行机器学习模型时能够达到一定流程化.我创建了这个 ...
- python数据分析知识点_快速介绍Python数据分析库pandas的基础知识和代码示例
"软件工程师阅读教科书作为参考时不会记住所有的东西,但是要知道如何快速查找重要的知识点." 为了能够快速查找和使用功能,使我们在进行机器学习模型时能够达到一定流程化.我创建了这个p ...
- 数据挖掘课程笔记6 : Numpy、Pandas和Matplotlib包基础知识
#2018-03-22 10:23:16 March Thursday the 12 week, the 081 day SZ SSMR http://blog.csdn.net/eastmount/ ...
- python基础知识及数据分析工具安装及简单使用(Numpy/Scipy/Matplotlib/Pandas/StatsModels/Scikit-Learn/Keras/Gensim))
Python介绍. Unix & Linux & Window & Mac 平台安装更新 Python3 及VSCode下Python环境配置配置 python基础知识及数据分 ...
- Python金融大数据分析:用pandas处理金融时间序列数据的基础知识
时间是阻止所有事情同时发生的力量.--雷•卡明斯 本节使用的是以CSV文件形式在本地存储的金融数据集形式为本地存储的CSV文件.从技术上讲,CSV文件是包含数据行结构的文本文件,其特征是以逗号分隔单个 ...
- python向量计算库教程_NumPy库入门教程:基础知识总结
原标题:NumPy库入门教程:基础知识总结 视学算法 | 作者 知乎专栏 | 来源 numpy可以说是 Python运用于人工智能和科学计算的一个重要基础,近段时间恰好学习了numpy,pandas, ...
- 聚类分析基础知识总结及实战解析
聚类分析基础知识总结及实战解析 聚类分析是没有给定划分类别的情况下,根据样本相似度进行样本分组的一种方法,是一种非监督的学习算法.聚类的输入是一组未被标记的样本,聚类根据数据自身的距离或相似度划分为若 ...
- python基础知识资料-Python基础知识汇总
原标题:Python基础知识汇总 1.Anaconda的安装 百度Anaconda的官网,下载左边的Python3.X版本 然后是设置路径,最后给出Jupyter notebook.具体参考: 猴子: ...
最新文章
- java 类定义_JAVA类与对象(二)----类定义基础
- R语言glmnet拟合lasso回归模型实战:lasso回归模型的模型系数及可视化、lasso回归模型分类评估计算(混淆矩阵、accuracy、Deviance)
- spring aop 注入源码解析
- 支持断线重连、永久watcher、递归操作并且能跨平台(.NET Core)的ZooKeeper异步客户端...
- 于我,过去,现在和未来 —— 西格里夫·萨松
- Hadoop 的核心(1)—— HDFS
- php判断字段重复,删除完全重复和部分关键字段重复的记录
- EvolvingNetLib,嗯,一个网络请求库而已
- 解决在嵌入式平台上无法进行字符编码的问题
- 随机出题在线考试系统php_在线考试系统怎么实现自制题库随机出题
- 掌握这60个Excel小技巧
- 中兴新支点操作系统上两个方便的小工具
- 大家快来看看,心中无女人,写文章自然神。
- 深度学习调优深度学习模型
- 计算机网络中常见的名词缩写
- 报表类-金蝶K3一次查询所有供应商采购价格
- linux蓝牙鼠标唤醒电脑,蓝牙鼠标唤醒电脑,蓝牙鼠标怎么设置唤醒电脑
- win7计算机名怎么是感叹号,Win7系统wifi信号后出现感叹号怎么办 Win7连接wifi后出现感叹号三种原因和解决方法...
- SAP中有些物料凭证不能用MBST冲销的原因分析
- ICC布局规划---1
热门文章
- BUUCTF-Crypto学习笔记(四)
- MySQL存储过程不带参数
- 240W满级秒充 真我GT Neo5售价2499元起
- Excel by Example: A Microsoft Excel Cookbook for Electronics Engineers
- 设计表:1对n,n对1,和n对n
- 湖南大学计算机专硕非全日制,非全日制研究生,到底“行不行”?
- linux查看物理cpu,linux_查看物理cpu的核数_是否超频
- QQ个人中心功能测试点
- 北京求职日记 java 第一天
- 一句话证明你是程序员