Numpy Pandas

Numpy Pandas,第1张

Numpy Pandas Numpy

​ Numpy的主要对象是同质的多维数组。其中的元素通常都是数字,并且是同样的类型,由一个正整数元组进行索引。每个元素在内存中占有同样大小的空间。在Numpy中,维度被称为‘轴’。

np.array的代码定义如下
numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)
各参数的含义:

object:用于生成数组的数据对象
dtype:指定类型,可选。
copy:可选,默认为True,对象被复制。
order:C语言风格(按行)、FORTRAN风格(按列)或A(任意,默认)。
subok:默认情况下,返回的数组被强制为基类数组。 如果为True,则返回子类。
ndmin:指定返回数组的最小维数。

ndarray具有以下重要属性:

ndarray.ndim:数组的轴数量
ndarray.shape:数组的形状。这是一个整数元组。比如对于n行m列的矩阵,其shape形状就是(n,m)。而shape元组的长度则恰恰是上面的ndim值,也就是轴数。
ndarray.size:数组中所有元素的个数。这恰好等于shape中元素的乘积。
ndarray.dtype:数组中元素的数据类型。除了标准的Python类型,Numpy还提供一些自有的类型。
ndarray.itemsize:元素的字节大小。比如float64类型的itemsize为8(=64/8),而complex32的itemsize为4(=32/8)。
ndarray.data:包含数组实际元素的缓冲区。通常我们不需要使用这个属性,因为我们将使用索引工具访问数组中的元素。
ndarray.flags: 数组对象的一些状态指示或标签

1. C_ConTIGUOUS (C):数组位于单一的、C语言风格的连续区段内
2. F_ConTIGUOUS (F): 数组位于单一的、Fortran语言风格的连续区段内
3.  OWNDATA (O) :数组的数据是否从其它对象处借用
4.  WRITEABLE (W) :数据区域是否可写入。 将它设置为Flase会锁定数组,使其只读。
5.  ALIGNED (A) :数据元素会适当对齐
6.  UPDATeIFCOPY (U) :如果数组是另一数组的副本。当这个数组释放时,源数组会由这个数组中的元素更新
Pandas

Pandas是一个高性能的数据 *** 作和分析工具。它在Numpy的基础上,提供了一种高效的Dataframe数据结构,使得在Python中进行数据清洗和分析非常快捷。Pandas采用了很多Numpy的代码风格,但最大的不同在于pandas主要用来处理表格型或异质型数据,而Numpy则相反,它更适合处理同质并且是数值类型的数据。事实上大多数时候,我们使用Pandas多于Numpy。
Pandas的主要特点:

快速高效的Dataframe对象,具有默认和自定义的索引。
将数据从不同文件格式加载到内存中的数据对象的工具。
丢失数据的数据对齐和综合处理。
重组和摆动日期集。
基于标签的切片,索引和大数据集的子集。
可以删除或插入来自数据结构的列。
按数据分组进行聚合和转换。
高性能合并和数据加入。
时间序列功能。

pip install pandas
from pandas import Series,Dataframe
Pandas的核心是三大数据结构:Series、Dataframe和Index。 Series是一个一维的数组对象,它包含一个值序列和一个对应的索引序列。 Numpy的一维数组通过隐式定义的整数索引获取元素值,而Series用一种显式定义的索引与元素关联。显式索引让Series对象拥有更强的能力,索引也不再仅仅是整数,还可以是别的类型,比如字符串,索引也不需要连续,也可以重复,自由度非常高。
import pandas as pd
s = pd.Series([7,-3,4,-2])
print(s)
0    7
1   -3
2    4
3   -2

左边是索引,右边是实际对应的值。默认的索引是0到N-1(N是数据的长度)。可以通过values和index属性分别获取Series对象的值和索引,byupe获取类型

Dataframe是Pandas的核心数据结构,表示的是二维的矩阵数据表,类似关系型数据库的结构,每一列可以是不同的值类型,比如数值、字符串、布尔值等等。Dataframe既有行索引,也有列索引,它可以被看做为一个共享相同索引的Series的字典。
import pandas as pd
data = [[],] or {[],[]}
f = pd.Dataframe()
Pandas中的索引对象Index用于存储轴标签和其它元数据。索引对象是不可变的,用户无法修改它。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5680416.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存