📜  Pandas NumPy

📅  最后修改于: 2020-10-29 04:41:42             🧑  作者: Mango

Pandas 号

数值Python (Numpy)被定义为Python软件包,用于执行多维和一维数组元素的各种数值计算和处理。使用Numpy数组的计算比普通的Python数组快。

该程序包由Travis Oliphant在2005年创建,方法是将祖先模块Numeric的功能添加到另一个模块Numarray中。它还能够处理大量数据,并通过矩阵乘法和数据重塑而方便。

NumPy主要用C语言编写,并且是Python的扩展模块。

Pandas 建立在numpy数组之上;因此,numpy帮助我们更有效地使用Pandas 。

创建数组

数组的主要任务是将多个值存储在单个变量中。它定义了可以用numpy轻松处理的多维数组,如以下示例所示:

# import the "array" for demonstrating array operations
import array
# initializing an array with array values and signed integers
arr = array.array('l', [2, 4, 6, 8, 10, 12]) 
# print the original array
print ("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

本示例说明如何使用布尔索引访问DataFrame:

# importing pandas as pd
import 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)

输出:

name    age
True     Smith    28
True   William   39
False    Phill   34
True    Parker    36

例2

本示例说明如何使用.loc []访问具有布尔索引的DataFrame。

# importing pandas as pd
import 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[] function  
print(info.loc[True])

输出:

name    age
True     Smith    28
True   William    39
True    Parker    36

重塑数组

重整数组用于重整数组而不更改其数据。

句法

numpy.reshape(a, newshape, order='C')

参量

  • a:定义要整形的数组。
  • newshape:定义应与原始形状兼容的新形状。对于整数值,结果将是该长度的一维数组。一个形状尺寸可以为-1。
  • order:这是一个可选参数,它通过使用索引顺序读取元素,然后借助索引顺序将元素放置到重新排列的数组中。

返回值:

它返回经过整形的数组。

import numpy as np
arr = np.arange(16)
print("The Original array is: \n", arr)
# shape array with 2 rows and 8 columns
arr = np.arange(16).reshape(2, 8)
print("\nreshapedarray: \n", arr)
# shape array with 2 rows and 8 columns
arr = np.arange(16).reshape(8 ,2)
print("\nreshaped array: \n", arr)

输出:

The Original array is: 
 [ 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15]
reshaped array: 
 [[ 0  1  2  3  4  5  6  7]
[ 8  9 10 11 12 13 14 15]]

reshaped array: 
 [[ 0  1]
[ 2  3]
[ 4  5]
[ 6  7]
[ 8  9]
 [10 11]
 [12 13]
 [14 15]]