流行的Python库numpy及Pandas简要介绍

numpy.ndarray 是NumPy库中的主要数据结构,它是一个多维数组,用于存储和操作数值数据。NumPy是Python中用于数值计算的强大库,numpy.ndarray 是它的核心数据类型,提供了高效的数值运算和广泛的数学函数。

以下是 numpy.ndarray 的一些重要特点和功能:

  1. 多维数组numpy.ndarray 可以是一维、二维或多维的数组,这使得它非常适合处理各种复杂的数据。

  2. 数据类型numpy.ndarray 可以包含不同数据类型的元素,如整数、浮点数、布尔值等。每个数组都有一个固定的数据类型,可通过 dtype 属性获得。

  3. 广播:NumPy支持广播,这意味着可以对不同形状的数组执行元素级操作,而不需要显式循环。

  4. 矢量化操作:NumPy提供了各种数学、逻辑和统计函数,这些函数能够高效地应用于 numpy.ndarray 中的元素,而无需编写循环。

  5. 切片和索引:可以使用切片和索引操作从 numpy.ndarray 中选择和操作数据的子集。

  6. 数学运算:NumPy支持各种数学运算,包括加法、减法、乘法、除法、矩阵运算等。

  7. 随机数生成:NumPy包括随机数生成函数,用于生成随机数或随机数组。

  8. 数据统计:NumPy提供了各种统计函数,用于计算平均值、方差、标准差、最大值、最小值等。

  9. 线性代数:NumPy包括线性代数函数,用于矩阵操作、求解线性方程组等。

  10. 文件IO:可以使用NumPy读取和写入数据到磁盘,支持多种文件格式。

下面是一个简单的示例,演示如何创建和操作 numpy.ndarray

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(Python Data Analysis Library)是一个流行的Python库,用于数据处理和分析。它提供了高性能、易用的数据结构和数据分析工具,使得在Python中进行数据清洗、转换、分析和可视化变得更加容易。以下是Pandas的一些主要特点和功能:

  1. 数据结构:Pandas引入了两种主要的数据结构,DataFrameSeries

    • DataFrame 是一个二维表格数据结构,类似于电子表格或SQL表,可以容纳多种数据类型的列。每列可以有不同的数据类型。
    • Series 是一个一维标记数组,类似于带有标签的NumPy数组。
  2. 数据读取:Pandas可以轻松读取各种数据源,包括CSV、Excel、SQL数据库、JSON、HTML、以及Web API等。

  3. 数据清洗和处理:Pandas提供了丰富的数据操作功能,包括缺失值处理、数据合并、重塑、过滤、排序、分组和聚合等。

  4. 数据分析:Pandas支持各种数据分析任务,包括统计描述、数据可视化、时间序列分析、数据透视表等。

  5. 快速索引:Pandas的 DataFrameSeries 可以通过标签或位置进行快速的数据检索和索引。

  6. 灵活的数据可视化:Pandas结合了Matplotlib和Seaborn等可视化库,使得数据可视化变得容易。

  7. 数据导出:可以将清洗和分析后的数据导出到各种文件格式,包括CSV、Excel、SQL数据库等。

  8. 时间序列数据:Pandas对于处理时间序列数据非常强大,可以进行日期和时间的解析、滚动窗口计算等。

  9. 高性能:Pandas被设计为高性能数据处理工具,可以处理大型数据集。

  10. 广泛的社区支持:由于其流行和广泛使用,Pandas拥有庞大的社区支持和文档资源。

以下是一个简单的示例,演示了如何使用Pandas创建和操作数据:

 

import pandas as pd

# 创建一个DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie'],
        'Age': [25, 30, 35],
        'City': ['New York', 'San Francisco', 'Los Angeles']}
df = pd.DataFrame(data)

# 打印DataFrame的前几行
print(df.head())

# 进行数据过滤
filtered_df = df[df['Age'] > 28]

# 进行数据分组和聚合
grouped_df = df.groupby('City')['Age'].mean()

# 保存DataFrame到CSV文件
df.to_csv('sample_data.csv', index=False)
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)

你可能感兴趣的:(numpy,数据结构,python)