1、Pandas 的起源 -Numpy

  1. Pandas 是基于Numpy构建的含有更高级数据结构和工具的数据分析包。
  2. Numpy是一个python第三方扩展程序库。支持大量的维度数组和矩阵运算,除此之外也针对数组运算提供大量的数学函数库。

1.1 数组(ndarray)的定义

  1. 用np.array()可以将列表数据类型(List)转化为ndarray数组。
  2. np.array是一个函数方法,用来创建一个ndarray对象。ndarray数组是用np.ndarray类的对象表示n维数组。
  3. nparray数组一般要求所有元素类型相同(同质)数组下标从0开始。
  4. 数组输出成[ ]形式,元素间由空格分开。
  5. 引入Numpy的约定别名一般是np,ndarray(数组)是Numpy最重要的数据类型。
  6. 引入规则 : 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)的区别

  1. 列表内部元素使用逗号分开,数组内部元素间用空格分开。
  2. 同一个列表里可以接收不同类型的数据,数组一般要求所有元素类型相同(称为同质,有助于节省运算和存储空间)。

  3. 数组对象可以去掉元素间循环直接计算(提升性能),列表需要循环。
  4. Pandas是基于NumPy的改造,因此Pandas也有相似的特征,可以提高运算。

1.3 ndarray的属性

  1. 数组维度ndim。
  2. 数组形状(行列)shape。
  3. 数组中元素的个数size(shape乘积)。
  4. 数组内元素的类型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 简介

  1. Pandas是Python第三方库,提供高性能易用数据类型和分析工具,提供了核心数组操作,它定义了处理数据的基本结构,并且赋予它们促进操作的方法,例如:

    1. 读取数据
    2. 调整索引
    3. 使用日期和时间序列
    4. 排序,分组,重新排序和数据调整
    5. 处理缺失值等
  2. 引入规则 import pandas as pd
  3. Pandas包含两种数据类型:Series 和 DataFrame(DataFrame数据框就相当于我们平时接触的excel表格,Series数据类型就相当于从excel表中任取一列进行操作)。
  4. Numpy 和 Pandas的区别:
    1. Numpy只能存储相同数据类型的array,Pandas能处理不同数据类型的数据(例如:二维表格中不同列可以是不同类型的数据,一列为整数一列为字符串)。
    2. Numpy是数值计算扩展包,处理数组和矩阵非常方便。Pandas是python的一个数据分析包,是基于Numpy的一种工具,主要做数据处理用的,以处理二维表格为主提供处理数据的函数和方法。
    3. Numpy用于数值计算。Pandas用于数据处理和分析。
    4. 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 数据结构

  1. Pandas中的数据结构-DataFrame,它以表格形式存储,并且有对应的行和列。
  2. DataFrame和我们日常中使用的Excel长的相似,和数据库表也如出一辙。
  3. DataFrame是一个表格型的数据类型,每列值类型可以不同。
  4. DataFrame既有行索引,也有列索引。
  5. DataFrame常用于二维数据。

  6. 语法: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
  1. 创建一个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 安装及使用

  1. pip install jupyter
  2. 创建空文件夹(例如:Jupyter_Notebooks)
  3. 打开本地文件夹Jupyter_Notebooks终端,执行命令:jupyter notebook
  4. 开启Jupyter
  5. 默认浏览器访问URL:http://localhost:8888/tree

2.4 DataFrame 的属性

2.5 DataFrame 和 Series相互转化

DataFrame单独取一行或者一列就是一个Series,也可以将Series转化成单列的DataFrame。

2.6 DataFrame 的简单运算

例如:计算每家公司的毛利和毛利率

DataFrame的计算具有自动对齐功能,所以计算结果会一一对应索引。

Pandas(一) 基础知识相关推荐

  1. 艺赛旗(RPA) Pandas 类库基础知识

    艺赛旗 RPA8.0全新首发免费下载 点击下载 http://www.i-search.com.cn/index.html?from=line1 详细内容请参看艺赛旗官网支持栏目:RPA社区 点击链接 ...

  2. 数据分析一、 pandas库基础知识

    pandas库基础知识 一.jupyter 代码编辑器 概述:Python 数据分析库介绍 二.pandas 库基础知识 (1)常用的Series属性与方法: (2) DataFrame常用方法 1. ...

  3. pandas追加写入excel_快速介绍Python数据分析库pandas的基础知识和代码示例

    "软件工程师阅读教科书作为参考时不会记住所有的东西,但是要知道如何快速查找重·要的知识点." 为了能够快速查找和使用功能,使我们在进行机器学习模型时能够达到一定流程化.我创建了这个 ...

  4. python数据分析知识点_快速介绍Python数据分析库pandas的基础知识和代码示例

    "软件工程师阅读教科书作为参考时不会记住所有的东西,但是要知道如何快速查找重要的知识点." 为了能够快速查找和使用功能,使我们在进行机器学习模型时能够达到一定流程化.我创建了这个p ...

  5. 数据挖掘课程笔记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/ ...

  6. python基础知识及数据分析工具安装及简单使用(Numpy/Scipy/Matplotlib/Pandas/StatsModels/Scikit-Learn/Keras/Gensim))

    Python介绍. Unix & Linux & Window & Mac 平台安装更新 Python3 及VSCode下Python环境配置配置 python基础知识及数据分 ...

  7. Python金融大数据分析:用pandas处理金融时间序列数据的基础知识

    时间是阻止所有事情同时发生的力量.--雷•卡明斯 本节使用的是以CSV文件形式在本地存储的金融数据集形式为本地存储的CSV文件.从技术上讲,CSV文件是包含数据行结构的文本文件,其特征是以逗号分隔单个 ...

  8. python向量计算库教程_NumPy库入门教程:基础知识总结

    原标题:NumPy库入门教程:基础知识总结 视学算法 | 作者 知乎专栏 | 来源 numpy可以说是 Python运用于人工智能和科学计算的一个重要基础,近段时间恰好学习了numpy,pandas, ...

  9. 聚类分析基础知识总结及实战解析

    聚类分析基础知识总结及实战解析 聚类分析是没有给定划分类别的情况下,根据样本相似度进行样本分组的一种方法,是一种非监督的学习算法.聚类的输入是一组未被标记的样本,聚类根据数据自身的距离或相似度划分为若 ...

  10. python基础知识资料-Python基础知识汇总

    原标题:Python基础知识汇总 1.Anaconda的安装 百度Anaconda的官网,下载左边的Python3.X版本 然后是设置路径,最后给出Jupyter notebook.具体参考: 猴子: ...

最新文章

  1. java 类定义_JAVA类与对象(二)----类定义基础
  2. R语言glmnet拟合lasso回归模型实战:lasso回归模型的模型系数及可视化、lasso回归模型分类评估计算(混淆矩阵、accuracy、Deviance)
  3. spring aop 注入源码解析
  4. 支持断线重连、永久watcher、递归操作并且能跨平台(.NET Core)的ZooKeeper异步客户端...
  5. 于我,过去,现在和未来 —— 西格里夫·萨松
  6. Hadoop 的核心(1)—— HDFS
  7. php判断字段重复,删除完全重复和部分关键字段重复的记录
  8. EvolvingNetLib,嗯,一个网络请求库而已
  9. 解决在嵌入式平台上无法进行字符编码的问题
  10. 随机出题在线考试系统php_在线考试系统怎么实现自制题库随机出题
  11. 掌握这60个Excel小技巧
  12. 中兴新支点操作系统上两个方便的小工具
  13. 大家快来看看,心中无女人,写文章自然神。
  14. 深度学习调优深度学习模型
  15. 计算机网络中常见的名词缩写
  16. 报表类-金蝶K3一次查询所有供应商采购价格
  17. linux蓝牙鼠标唤醒电脑,蓝牙鼠标唤醒电脑,蓝牙鼠标怎么设置唤醒电脑
  18. win7计算机名怎么是感叹号,Win7系统wifi信号后出现感叹号怎么办 Win7连接wifi后出现感叹号三种原因和解决方法...
  19. SAP中有些物料凭证不能用MBST冲销的原因分析
  20. ICC布局规划---1

热门文章

  1. BUUCTF-Crypto学习笔记(四)
  2. MySQL存储过程不带参数
  3. 240W满级秒充 真我GT Neo5售价2499元起
  4. Excel by Example: A Microsoft Excel Cookbook for Electronics Engineers
  5. 设计表:1对n,n对1,和n对n
  6. 湖南大学计算机专硕非全日制,非全日制研究生,到底“行不行”?
  7. linux查看物理cpu,linux_查看物理cpu的核数_是否超频
  8. QQ个人中心功能测试点
  9. 北京求职日记 java 第一天
  10. 一句话证明你是程序员