在本教程中,我将尝试对Python中最重要的两个库做一个简短的描述Numpy和熊猫...我们不要再拖延了,让我们过去吧Numpy第一。

Numpy

numpy是Python中科学计算的核心库。它为处理这些数组提供了一个高性能的多维数组对象和工具。Numpy是一个强大的N维列阵对象,它是Python的线性代数。Numpy数组本质上有两种类型:矢量和马曲 . 矢量严格地说是一维数组,而矩阵是2D但是矩阵只能有一行/列。

现在使用numpy在程序中,我们需要导入模块。一般来说,numpy包定义为np为了方便起见。但是你可以使用你想要的任何东西来导入它。

import numpy as np

np.array([1, 2, 3]) # Create a rank 1 array

np.arange(15) # generate an 1-d array from 0 to 14

np.arange(15).reshape(3, 5) # generate array and change dimensions

现在要了解更多关于numpyPakage及其功能--您可以直接跟踪https://numpy.org/官方网站。在这里,我们将讨论一些重要的命令和函数numpy图书馆。

在上面的例子中,我们可以观察到numpy首先导入,然后导入1-d numpy列阵a被定义。然后,我们可以使用上述命令检查数组的类型、维度、形状和长度。下面是创建数组的一些重要命令:

np.linespace(0,3,4) #create 4 equally spaced points 0-3 range inclusively

np.linespace(0,3,4, endpoint=False) # remove endpoint and other equally spaced values.

np.random.randint(1,100,6) #create array of 6 random values in 0-100 range.

np.random.randint(1,100,6).reshape(3,2) #reshape the array according to row and column vectors.

np.random.rand(4) #create an array of uniform distribution (0,1)

np.eye(3) #create a 3*3 identity matrix

np.zeros(3) #create array([0,0,0])

np.zeros((5,5)) #create a 5*5 2-d array of zeros

np.random.randn(2,2) #return standard normal distribution vcenter around zreo.

np.empty((2,3)) # uninitialized

np.arange(0, 2, 0.3) # from 0 to a number less than 2 with 0.3 intervals

np.ones((2,3,4), dtype=np.int16) # all element are 1

np.array([[1,2],[3,4]], dtype=complex) # complex array

np.array([(1.5,2,3),(4,5,6)]) # two-dimensional array

np.array([2,3,4]) # one-dimensional array

的重要属性达雷对象

ndarray.shape数组的尺寸。这是一个整数元组,指示每个维度中数组的大小。的矩阵n行和m列,形状将是(n,m) .

ndarray.ndim数组的轴数(尺寸)。

ndarray.dtype*如果您想知道数组的数据类型,可以查询D型...描述数组中元素类型的对象。可以创建或指定D型使用标准Python类型。

此外,蒙皮提供自己的类型。numpy.int32 , numpy.int16,和numpy.float64就是一些例子。

属性达雷对象

ndarray.itemsize数组中每个元素的大小(以字节为单位)。例如,类型为Float 64的元素数组具有项目大小8(=64/8),而类型之一络合32有项目大小4(=32/8)。它相当于ndarray.dtype.itemsize。

ndarray.size数组的元素总数。这等于形状元素的乘积。

打印数组:打印数组时,numpy以类似于嵌套列表的方式显示它,但使用以下布局:从左到右打印最后一个轴,从上到下打印第二个到最后一个,其余部分也从上到下打印,每个切片与下一个切片之间用空行分隔。

基本操作:

A = np.array([[1,1],[0,1]])

B = np.array([[2,0],[3,4]])

A+B #addition of two array

np.add(A,B) #addition of two array

A * B # elementwise product

A @ B # matrix product

A.dot(B) # another matrix product

B.T #Transpose of B array

A.flatten() #form 1-d array

B < 3 #Boolean of Matrix B. True for elements less than 3

A.sum() # sum of all elements of A

A.sum(axis=0) # sum of each column

A.sum(axis=1) # sum of each row

A.cumsum(axis=1) # cumulative sum along each row

A.min() # min value of all elements

A.max() # max value of all elements

np.exp(B) # exponential

np.sqrt(B) # squre root

A.argmin() #position of min value of elements

A.argmax() #position of max value of elements

A[1,1] #member of a array in (1,1) position

索引、切片和迭代蒙皮 :

a = np.arange(4)**3 # create array a

a[2] # member of a array in 2nd position

a[::-1] # reversed a

a[0:4,1] # each row in the second column of b

a[1,...] # same as a[1,:,:] or a[1]

a[a>5] # a with values greater than 5

x = a[0:4] # assign x with 4 values of a

x[:]=99 # change the values of x to 99 which will change the 4 values of a also.

如果将数组的任何位置分配给另一个数组,并将其广播为新值,则原始数组也会更改。这是因为蒙皮不想为同一个数组使用更多的内存。如下图所示,a的值更改为x,它是数组的一部分。a .

当我们在数组中使用比较运算符时,它会返回一个布尔数组。然后使用布尔数组,我们可以从原始数组中有条件地选择元素。

熊猫

pandas的基础上构建的开放源代码库。蒙皮为Python编程语言提供高性能、易于使用的数据结构和数据分析工具.它允许快速的分析和数据的清理和准备。它在业绩和生产力方面都很出色。它可以处理来自多种来源的数据。pandas适用于许多不同类型的数据:表格数据、时间序列数据、带有行和列标签的任意矩阵数据以及任何其他形式的观测/统计数据集。要在系统中安装熊猫,可以使用以下命令pip install pandas或conda install pandas .

import numpy as np #importing numpy

import pandas as pd #importing pandas

arr=np.array([1,3,5,7,9]) #create arr array

s2=pd.Series(arr) #create pandas series s2

print(s2) #print s2

print(type(s2)) #print type of s2

产出:

0 1

1 3

2 5

3 7

4 9

dtype: int64

制作系列片pandas我们需要用pd.Series(data, index)格式data是输入数据和index为数据选择索引。为了充分理解它,我们可以遵循下面的例子。

熊猫系列的工作方式是相同的列单和蒙皮数组以及字典还有。面板三维数据结构,有三个轴,

轴线0 ( 项目 ), 轴1 ( 主轴),以及轴2 ( 短轴 ). 轴线0对应于二维DataFrame。对应于轴2对应于DataFrame的列。下面的示例使用蒙皮生成一个三维随机数,然后将其应用于

pandas.Panel()...输出显示,Panel对象为尺寸2 ( 项目)x3 ( 主轴)x4 ( 短轴)是被创造出来的。如果你抬头看p[0]从Panel对象p,您可以看到显示了DataFrame,它是Axis 0的第一个元素。

熊猫数据帧创建带有标记轴(行和列)的表格数据结构。DataFrame的默认格式是pd.Dataframe(data, index, column)...您需要提到数据、索引和列值来生成DataFrame。数据至少应该是二维 , 指数将是行名和柱列的值。

例熊猫系列 & DataFrame

下面我提到了熊猫库中使用的一些基本命令以及它们的用法:

s4=pd.DataFrame(np.random.randn(20,7), columns=['A','B','C','D','E','F','G'])

s4[(5字典可以用来创建熊猫系列和数据框架。字典可以用作数据来创建表格数据,但是价值应该是多过 一为每个键所有价值应该是同长而在熊猫系列中,不同的价值长度是可以的。

熊猫系列和达菲通过字典

要重置框架的索引并将前一个索引添加到列中,我们需要遵循以下命令。重置索引将是数值。

df.reset_index(inplace=True)

df.set_index('Name') #index will be 'Name' column but not permanent.

df.set_index('Name', inplace=True)#permanent new index 'Name' column

大多数DataFrames有几个非数值在不同的列中。有时我们需要移除非数或者用别的东西代替它们。我们可以删除或替换非数在熊猫数据框架中的价值如下:

df.dropna() # remove the rows that have Nan value

df.dropna(inplace=True) # remove the Nan value rows parmenentlydf.dropna(axis=1) # remove columns that has Nan value

df.dropna(axis=1, inplace=True) # remove the Nan valued columns parmanently.

df.fillna(value='Arman') # fill Nan values with 'Arman'.

df.fillna(value='Arman', inplace=True) #fill values parmanently.

df.fillna(value=df.mean(), inplace=True) #fill Nan value with each column mean value.

df['A'].fillna(value=df['A'].mean()) #fill Nan value of column 'A' with its mean.

在我的下一篇教程中,我将尝试总结一下Matplotlib和Seabon这两个主要使用的可视化库。我将尽快为本教程添加一个回购程序。谢谢你的时间和任何类型的建议或批评是非常值得赞赏的。你可以跟着我的个人资料看几个教程。

python的顶级库_世界上最顶级的python库,NumpyPandas相关推荐

  1. python高分书籍推荐_史上最全的Python书排行榜|你想知道的都在这里

    原标题:史上最全的Python书排行榜|你想知道的都在这里 感谢关注天善智能,走好数据之路↑↑↑ 欢迎关注天善智能,我们是专注于商业智能BI,大数据,数据分析领域的垂直社区,学习,问答.求职一站式搞定 ...

  2. python方向难度排名_世界上学习语言难易度排行是怎样的?

    本回答仅为对英语母语者的难度,仅供参考. 美国国务院外交学院曾经把世界各种语言按对于英语母语者(注意是英语母语者!)的难度分为五个等级. 第一个等级,最简单的等级,英语母语者可以用23周左右的时间熟练 ...

  3. python最全知识点_史上最全的Python面向对象知识点疏理

    51CTO诚邀您9月23号和秒拍/国美/美团元专家一路聊智能CDN的优化之路,抓紧时光哦! 面向对象技巧简介 类: 用来描述具有雷同的属性和办法的对象的集合.它定义了该集合中每个对象所共有的属性和办法 ...

  4. python最全知识点_史上最全的Python知识点整理之基本语法

    一.程序的格式框架 1.缩进 缩进是指每行语句前的空白区域,用来表示Python程序间的包含和层次关系. 一般语句不需要缩进,顶行书写且不留空白. 当表示分支.循环.函数.类等含义,在if,while ...

  5. python手机编译器可以干什么_世界上最好的Python编辑器是什么?

    在这种情况下,你需要使用一个 IDE(集成开发环境)或专用的代码编辑器.由于 Python 是最流行的编程语言之一,IDE 的选择也非常多.那么问题来了:「究竟什么样的 IDE 最适合 Python? ...

  6. 为什么说python是世界上最好的语言-Python才是世界上最好的语言

    [文末领取限免课程] Python是人工智能的未来. 前不久中国经济学会(CEA)发布了顶级编程语言交互排行榜:Python超越Java高居首位. 而且随着大数据和人工智能的发展,Python受到了越 ...

  7. python翻译库_[译] 鲜为人知的数据科学 Python 库

    Python 是一个很棒的语言.它是世界上发展最快的编程语言之一.它一次又一次地证明了在开发人员职位中和跨行业的数据科学职位中的实用性.整个 Python 及其库的生态系统使它成为全世界用户(初学者和 ...

  8. 为什么说python是世界上最好的语言-Python是世界上最好的语言 吗?

    编程语言的选择是IT圈子永远的争议.在任意一个程序员聚集的场合,喊一句类似于"PHP是世界上最好的语言"这样的话,肯定会惹来不少人和你争论得面红耳赤.那么,Python是世界上最好 ...

  9. python dash库_让你事半功倍的小众 Python 库

    WGET 提取数据,特别是从网络中提取数据是数据科学家的重要任务之一.Wget 是一个免费的工具,用于以非交互式方式从 Web 上下载文件.它支持 HTTP.HTTPS 和 FTP 协议,通过 HTT ...

最新文章

  1. JQUERY的父,子,兄弟节点查找方法
  2. Python协程:从yield/send到async/await
  3. 算法提高课-图论-单源最短路的综合应用-AcWing 342. 道路与航线:最短路dijkstra、拓扑排序 、综合题、好题
  4. 绘制基础知识-canvas paint
  5. 单向循环链表的增、删、查、改、python实现,超详细讲解
  6. 为什么说容器的崛起预示着云原生时代到来?
  7. 定了!华为P30/P30 Pro正式官宣:3月26日见
  8. Entity Framework Core 3.0 和 Entity Framework 6.3 正式发布
  9. 怎么让Windows2012和Windows2008多用户同时远程
  10. Linux Frp内网穿透
  11. python xy 2.7下载_pythonxy 安装
  12. 【web学习之对话框】对话框的使用
  13. arm linux开发板自动配置IP地址
  14. OCR为你定义驾驶证识别(驾照识别)技术
  15. 网络安全系列-三十四: EDR、NDR、XDR 、HIPS、NIPS、NTA、DPI、DFI、南北流量、东西流量:傻傻分不清楚
  16. Android开发必知的maven-publish插件知识
  17. pdo连接mysql_php PDO连接mysql
  18. 解压rar/zip工具类
  19. 微信公众号开发 - 开发环境搭建
  20. 微信小程序 实现报表(表格)双指缩放功能

热门文章

  1. SpringBoot之Listener注册到Spring容器中的多种方法
  2. 蓝桥杯 ALGO-28 算法训练 星际交流
  3. [Java] 蓝桥杯 BASIC-10 基础练习 十进制转十六进制
  4. 蓝桥杯 ALGO-61 算法训练 奇偶判断
  5. L2-016. 愿天下有情人都是失散多年的兄妹-PAT团体程序设计天梯赛GPLT(广度优先bfs)
  6. php7.0康乐安装_Windows服务器安装配置PHP7.0环境图文教程
  7. 浅谈管理系统操作日志设计(附操作日志类)
  8. 字符设备驱动(四)按键中断
  9. 机器学习,看完就明白了
  10. Orchard是如何工作的?