Una breve introducción a las populares bibliotecas de Python numpy y Pandas

numpy.ndarrayEs la estructura de datos principal de la biblioteca NumPy, es una matriz multidimensional que se utiliza para almacenar y manipular datos numéricos. NumPy es una poderosa biblioteca para cálculos numéricos en Python. Es numpy.ndarraysu tipo de datos principal y proporciona operaciones numéricas eficientes y una amplia gama de funciones matemáticas.

Estas son numpy.ndarrayalgunas de las características y capacidades importantes de:

  1. Matriz multidimensional : numpy.ndarraypuede ser una matriz unidimensional, bidimensional o multidimensional, lo que la hace muy adecuada para procesar diversos datos complejos.

  2. Tipo de datos : numpy.ndarraypuede contener elementos de diferentes tipos de datos, como números enteros, números de punto flotante, valores booleanos, etc. Cada matriz tiene un tipo de datos fijo, disponible a través de dtypela propiedad.

  3. Difusión : NumPy admite la difusión, lo que significa que se pueden realizar operaciones a nivel de elemento en matrices de diferentes formas sin la necesidad de bucles explícitos.

  4. Operaciones vectorizadas : NumPy proporciona una variedad de funciones matemáticas, lógicas y estadísticas que se pueden aplicar de manera eficiente a numpy.ndarrayelementos sin tener que escribir bucles.

  5. División e indexación : puede utilizar operaciones de división e indexación numpy.ndarraypara seleccionar y operar en subconjuntos de datos.

  6. Operaciones matemáticas : NumPy admite varias operaciones matemáticas, incluidas suma, resta, multiplicación, división, operaciones matriciales, etc.

  7. Generación de números aleatorios : NumPy incluye funciones de generación de números aleatorios para generar números aleatorios o matrices aleatorias.

  8. Estadísticas de datos : NumPy proporciona varias funciones estadísticas para calcular la media, la varianza, la desviación estándar, el máximo, el mínimo, etc.

  9. Álgebra lineal : NumPy incluye funciones de álgebra lineal para operaciones matriciales, resolución de sistemas de ecuaciones lineales y más.

  10. File IO : puede usar NumPy para leer y escribir datos en el disco, admitiendo múltiples formatos de archivo.

Aquí hay un ejemplo simple que muestra cómo crear y operar numpy.ndarray:

import numpy as np

# 生成0到1之间的随机数,指定形状为(2, 3)
random_nums = np.random.rand(2, 3)
print("Random numbers from uniform distribution:")
print(random_nums)

# 生成标准正态分布的随机数,指定形状为(3, 4)
random_normal = np.random.randn(3, 4)
print("\nRandom numbers from standard normal distribution:")
print(random_normal)

# 生成整数随机数,范围在5到15之间,指定形状为(2, 2)
random_integers = np.random.randint(5, 15, size=(2, 2))
print("\nRandom integers between 5 and 15:")
print(random_integers)

# 生成均匀分布的随机数,范围在10到20之间,指定形状为(3,)
random_uniform = np.random.uniform(10, 20, size=3)
print("\nRandom numbers from uniform distribution:")
print(random_uniform)

# 生成符合正态分布的随机数,均值为2,标准差为3,指定形状为(14,)
random_normal_custom = np.random.normal(loc=2, scale=3, size=14)
print("\nRandom numbers from custom normal distribution:")
print(random_normal_custom)

# 从数组中随机选择元素,指定选择5次,允许重复选择,并指定概率分布
choices = ['apple', 'banana', 'cherry', 'date']
random_choices = np.random.choice(choices, size=5, replace=True, p=[0.2, 0.3, 0.4, 0.1])
print("\nRandom choices:")
print(random_choices)

# 随机打乱数组的元素顺序
arr = np.array([1, 2, 3, 4, 5])
np.random.shuffle(arr)
print("\nShuffled array:")
print(arr)
import numpy as np

# 创建一个包含整数的等差数列
arr = np.arange(start, stop, step)

# 参数说明:
# - start: 数列的起始值(包含在数列中)
# - stop: 数列的结束值(不包含在数列中)
# - step: 数列的步长(可选,默认为1)

# 示例 1: 创建一个包含0到9的整数数列
arr1 = np.arange(10)
# 结果: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

# 示例 2: 创建一个包含2到8(不包含8)的整数数列,步长为2
arr2 = np.arange(2, 8, 2)
# 结果: [2, 4, 6]

# 示例 3: 创建一个包含0到1的浮点数数列,步长为0.1
arr3 = np.arange(0, 1, 0.1)
# 结果: [0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9]
import numpy as np

arr = np.array([1, 2, 3, 4, 5])
mean = np.mean(arr)  # 计算平均值
max_val = np.max(arr)  # 找到最大值
import numpy as np

np.random.seed(42)  # 设置种子为42
random_numbers = np.random.rand(5)  # 生成5个随机数

print(random_numbers)

random_int = np.random.randint(1, 100, 5)  # 生成1到99之间的5个整数随机数

random_uniform = np.random.rand(5)  # 生成包含5个随机数的数组
import numpy as np

# 创建一个一维数组
arr1 = np.array([1, 2, 3, 4, 5])

# 创建一个二维数组
arr2 = np.array([[1, 2, 3], [4, 5, 6]])

# 访问数组元素
print(arr1[0])        # 输出:1
print(arr2[1, 2])     # 输出:6

# 数学运算
result = arr1 + 10
print(result)         # 输出:[11 12 13 14 15]

# 切片
sub_array = arr1[1:4]
print(sub_array)      # 输出:[2 3 4]

# 统计运算
mean_value = np.mean(arr1)
print(mean_value)     # 输出:3.0
import numpy as np

# 创建一个全零数组
zeros_array = np.zeros((3, 4))

# 创建一个全一数组
ones_array = np.ones((2, 2))

# 创建一个等差数列
linspace_array = np.linspace(0, 1, 5)  # 生成 [0. 0.25 0.5 0.75 1. ]

# 创建一个随机数组
random_array = np.random.rand(3, 3)  # 生成一个3x3的随机数组
import numpy as np

arr = np.arange(12)  # 创建一个包含0到11的一维数组

# 将一维数组重塑为二维数组
reshaped_arr = arr.reshape(3, 4)

# 改变数组的形状,保持原数组不变
flattened_arr = arr.flatten()
import numpy as np

# 生成服从正态分布的随机数
random_numbers = np.random.normal(loc=0, scale=1, size=(3, 3))

# 随机打乱数组的顺序
arr = np.array([1, 2, 3, 4, 5])
np.random.shuffle(arr)
import numpy as np

arr = np.array([1, 2, 3, 4, 5])

# 使用条件表达式创建新数组
new_array = np.where(arr > 2, arr, 0)  # 大于2的元素保留,小于等于2的变为0
import numpy as np

# 创建一个示例数组
data = np.array([[1, 2, 3], [4, 5, 6]])

# 将数据写入文本文件(以逗号分隔)
np.savetxt('data.txt', data, delimiter=',')

# 将数据写入二进制文件
np.save('data.npy', data)

# 将数据写入压缩的二进制文件
np.savez('data.npz', arr=data, arr2=data*2)
import numpy as np

# 从文本文件读取数据
loaded_data = np.loadtxt('data.txt', delimiter=',')

# 从二进制文件读取数据
loaded_data_binary = np.load('data.npy')

# 从压缩的二进制文件读取数据
loaded_data_compressed = np.load('data.npz')
data_array = loaded_data_compressed['arr']
data_array2 = loaded_data_compressed['arr2']
import numpy as np

arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])

# 沿行方向堆叠两个数组
stacked_array = np.vstack((arr1, arr2))

# 沿列方向拼接两个数组
concatenated_array = np.concatenate((arr1, arr2))

Pandas (Biblioteca de análisis de datos de Python) es una biblioteca de Python popular para el procesamiento y análisis de datos. Proporciona estructuras de datos y herramientas de análisis de datos de alto rendimiento y fáciles de usar, lo que facilita la limpieza, transformación, análisis y visualización de datos en Python. Estas son algunas de las principales características y funcionalidades de Pandas:

  1. Estructuras de datos : Pandas presenta dos estructuras de datos principales, DataFramey Series.

    • DataFrameEs una estructura de datos tabulares bidimensional, similar a una hoja de cálculo o una tabla SQL, que puede acomodar columnas de múltiples tipos de datos. Cada columna puede tener diferentes tipos de datos.
    • Serieses una matriz etiquetada unidimensional, similar a una matriz NumPy etiquetada.
  2. Lectura de datos : Pandas puede leer fácilmente varias fuentes de datos, incluidas CSV, Excel, base de datos SQL, JSON, HTML y API web, etc.

  3. Limpieza y procesamiento de datos : Pandas proporciona funciones de operación de datos enriquecidas, incluido el procesamiento de valores faltantes, fusión, remodelación, filtrado, clasificación, agrupación y agregación de datos, etc.

  4. Análisis de datos : Pandas admite diversas tareas de análisis de datos, incluida descripción estadística, visualización de datos, análisis de series de tiempo, tablas dinámicas, etc.

  5. Indexación rápida : Pandas DataFramey Pandas Seriespermiten una rápida recuperación e indexación de datos por etiqueta o ubicación.

  6. Visualización de datos flexible : Pandas combina bibliotecas de visualización como Matplotlib y Seaborn para facilitar la visualización de datos.

  7. Exportación de datos : los datos limpios y analizados se pueden exportar a varios formatos de archivo, incluidos CSV, Excel, base de datos SQL, etc.

  8. Datos de series de tiempo : Pandas es muy poderoso para procesar datos de series de tiempo y puede realizar análisis de fecha y hora, cálculos de ventanas móviles, etc.

  9. Alto rendimiento : Pandas está diseñado como una herramienta de procesamiento de datos de alto rendimiento que puede manejar grandes conjuntos de datos.

  10. Amplio soporte comunitario : debido a su popularidad y uso generalizado, Pandas cuenta con un amplio soporte comunitario y recursos de documentación.

Aquí hay un ejemplo simple que demuestra cómo crear y manipular datos usando Pandas:

import pandas as pd

# 创建一个DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie', 'David', 'Ella'],
        'Age': [25, 30, 35, 28, 22],
        'City': ['New York', 'Los Angeles', 'Chicago', 'Houston', 'Miami']}
df = pd.DataFrame(data)

# 显示DataFrame的前几行数据
print("DataFrame:")
print(df)

# 获取DataFrame的基本信息
print("\nDataFrame Info:")
print(df.info())

# 访问列
print("\nAge Column:")
print(df['Age'])

# 添加新列
df['Salary'] = [50000, 60000, 75000, 48000, 55000]

# 数据过滤
print("\nPeople younger than 30:")
print(df[df['Age'] < 30])

# 数据排序
print("\nSorted by Age:")
print(df.sort_values(by='Age'))

# 数据聚合
print("\nAverage Salary:")
print(df['Salary'].mean())

# 数据分组
grouped = df.groupby('City')
print("\nGrouped by City:")
for city, group in grouped:
    print(city)
    print(group)

# 数据导出为CSV文件
df.to_csv('sample_data1.csv', index=False)

# 从CSV文件导入数据
imported_df = pd.read_csv('sample_data1.csv')
print("\nImported DataFrame:")
print(imported_df)
import pandas as pd

# 从CSV文件读取数据
df = pd.read_csv('data.csv')

# 从Excel文件读取数据
df = pd.read_excel('data.xlsx')

# 从SQL数据库读取数据
import sqlite3
conn = sqlite3.connect('database.db')
query = "SELECT * FROM table_name"
df = pd.read_sql_query(query, conn)
# 选择DataFrame中的一列
column = df['Column_Name']

# 使用条件选择行
filtered_df = df[df['Age'] > 25]

# 使用iloc按位置选择数据
selected_data = df.iloc[0:5, 1:3]
# 处理缺失值
df.dropna()  # 删除包含缺失值的行
df.fillna(value)  # 填充缺失值为指定值
# 数据排序
sorted_df = df.sort_values(by='Column_Name', ascending=False)

# 数据分组和聚合
grouped = df.groupby('Category')
mean_age = grouped['Age'].mean()
# 将DataFrame保存为CSV文件
df.to_csv('output_data.csv', index=False)

# 将DataFrame保存为Excel文件
df.to_excel('output_data.xlsx', index=False)

Supongo que te gusta

Origin blog.csdn.net/book_dw5189/article/details/133255764
Recomendado
Clasificación