Pandas NumPy用法详细解释

数值Python(Numpy)被定义为Python软件包, 用于执行多维和一维数组元素的各种数值计算和处理。使用Numpy数组的计算比普通的Python数组快。
该程序包由Travis Oliphant在2005年创建, 方法是将祖先模块Numeric的功能添加到另一个模块Numarray中。它还能够处理大量数据, 并通过矩阵乘法和数据重塑而方便。
NumPy主要用C语言编写, 它是Python的扩展模块。
Pandas建立在numpy数组之上;因此, numpy帮助我们更有效地使用Pandas。
创建数组
数组的主要任务是将多个值存储在单个变量中。它定义了可以用numpy轻松处理的多维数组, 如以下示例所示:
例子

# import the "array" for demonstrating array operationsimport array# initializing an array with array values and signed integersarr = array.array('l', [2, 4, 6, 8, 10, 12]) # print the original arrayprint ("New created array: ", end="")for l in range (0, 5):print (arr[l], end=" ")print ("\r")

输出
New created array: 2 4 6 8 10

布尔索引
布尔索引被定义为numpy的重要工具, 它在Pandas中经常使用。它的主要任务是使用DataFrame中数据的实际值。我们可以通过以下不同方式过滤布尔索引中的数据:
  • 使用布尔索引访问DataFrame。
  • 将布尔掩码应用于DataFrame。
  • 根据列值屏蔽数据。
  • 根据索引值屏蔽数据。
例1
【Pandas NumPy用法详细解释】本示例说明如何使用布尔索引访问DataFrame:
# importing pandas as pdimport pandas as pd# dictionary of lists dict = {'name':["Smith", "William", "Phill", "Parker"], 'age': ["28", "39", "34", "36"]} info = pd.DataFrame(dict, index = [True, True, False, True]) print(info)

输出
nameageTrueSmith28TrueWilliam39FalsePhill34TrueParker36

例2
本示例说明如何使用.loc []访问具有布尔索引的DataFrame。
# importing pandas as pdimport pandas as pd# dictionary of lists dict = {'name':["Smith", "William", "Phill", "Parker"], 'age': ["28", "39", "34", "36"]} info = pd.DataFrame(dict, index = [True, True, False, True]) # accessing a dataframe using .loc[] functionprint(info.loc[True])

输出
nameageTrueSmith28TrueWilliam39TrueParker36

重塑数组
重整数组用于重整数组而不更改其数据。
句法
numpy.reshape(a, newshape, order='C')

参数
  • a:定义要整形的数组。
  • newshape:定义应与原始形状兼容的新形状。对于整数值, 结果将是该长度的一维数组。一个形状尺寸可以为-1。
  • order:这是一个可选参数, 它通过使用索引顺序读取元素, 然后借助索引顺序将元素放置到重新排列的数组中。
返回值:
它返回经过整形的数组。
例子
import numpy as nparr = np.arange(16)print("The Original array is: \n", arr)# shape array with 2 rows and 8 columnsarr = np.arange(16).reshape(2, 8)print("\nreshapedarray: \n", arr)# shape array with 2 rows and 8 columnsarr = np.arange(16).reshape(8 , 2)print("\nreshaped array: \n", arr)

输出
The Original array is: [ 0123456789 10 11 12 13 14 15]reshaped array: [[ 01234567][ 89 10 11 12 13 14 15]]reshaped array: [[ 01][ 23][ 45][ 67][ 89] [10 11] [12 13] [14 15]]

    推荐阅读