numpy_pandas


1. NumPy 与 Pandas 用法总结

1.1. NumPy 用法

1.1.1. 安装 NumPy

pip install numpy

1.1.2. 导入 NumPy

import numpy as np

1.1.3. 创建数组

  • 从列表或元组创建数组
arr = np.array([1, 2, 3])
matrix = np.array([[1, 2], [3, 4]])
  • 使用内置函数创建数组
zeros = np.zeros((2, 3))       # 全零数组
ones = np.ones((3, 4))         # 全一数组
arange = np.arange(0, 10, 2)   # 创建一个范围数组
linspace = np.linspace(0, 1, 5)  # 等间距数组

1.1.4. 数组属性

shape = arr.shape               # 数组形状
dtype = arr.dtype               # 数据类型
size = arr.size                 # 数组元素总数

1.1.5. 数组切片与索引

slice_arr = arr[1:3]                  # 切片
element = arr[1]                       # 单个元素
row_slice = matrix[0, :]               # 第一行
col_slice = matrix[:, 1]               # 第二列
sub_matrix = matrix[0:2, 0:2]          # 子矩阵

1.1.6. 数组操作

  • 统计操作
sum_arr = np.sum(arr)                  # 求和
mean_arr = np.mean(arr)                # 均值
max_arr = np.max(arr)                  # 最大值
min_arr = np.min(arr)                  # 最小值
std_arr = np.std(arr)                  # 标准差
  • 数学操作
add_arr = arr + 10                     # 加法
mul_arr = arr * 2                      # 乘法
exp_arr = np.exp(arr)                  # 指数
  • 矩阵运算
dot_product = np.dot(matrix, matrix)   # 矩阵乘法
transpose = matrix.T                    # 转置
inverse = np.linalg.inv(matrix)         # 矩阵求逆(需方阵)

1.1.7. 广播

NumPy 支持广播,使得不同形状的数组可以进行运算。

result = arr + np.array([1, 2, 3])     # 广播机制

1.2. Pandas 用法

1.2.1. 安装 Pandas

pip install pandas

1.2.2. 导入 Pandas

import pandas as pd

1.2.3. 创建 DataFrame 和 Series

  • 从字典创建 DataFrame
data = {'A': [1, 2], 'B': [3, 4]}
df = pd.DataFrame(data)
  • 从列表创建 Series
s = pd.Series([1, 2, 3, 4])

1.2.4. 常用属性

columns = df.columns              # 列名
index = df.index                  # 索引
shape = df.shape                  # 形状
dtypes = df.dtypes                # 数据类型

1.2.5. 访问数据

  • 行选择
row = df.iloc[0]                 # 按位置选择第一行
row_label = df.loc[0]            # 按标签选择第一行
  • 列选择
column_A = df['A']                # 选择列 A
column_B = df[['B']]              # 选择列 B
  • 切片选择
subset = df.iloc[0:2, 0:2]       # 选择子集

1.2.6. 数据操作

  • 增加/删除列
df['C'] = [5, 6]                   # 添加新列 C
df.drop('C', axis=1, inplace=True) # 删除列 C
  • 数据过滤
filtered_df = df[df['A'] > 1]      # 过滤条件

1.2.7. 统计分析

mean_A = df['A'].mean()             # 计算均值
sum_A = df['A'].sum()               # 计算求和
describe = df.describe()             # 描述性统计

1.2.8. 数据处理

  • 排序
sorted_df = df.sort_values(by='A')  # 根据列 A 排序
  • 缺失值处理
df.fillna(0, inplace=True)          # 填充缺失值
df.dropna(inplace=True)             # 删除包含缺失值的行

1.2.9. 数据导入与导出

df.to_csv('file.csv', index=False)  # 导出为 CSV 文件
df = pd.read_csv('file.csv')         # 从 CSV 文件导入

1.2.10. 读热码转换


pd.get_dummies(data, columns=None, drop_first=False, dummy_na=False, ...)

主要参数:

  • data: 要编码的数据,可以是 DataFrame 或 Series。
  • columns: 指定要进行编码的列名。如果不提供,所有类型的对象列都会被处理。
  • drop_first: 布尔值,默认为 False。如果为 True,则删除第一个类别的列,以避免虚拟变量陷阱(dummy variable trap),即多重共线性问题。
  • dummy_na: 布尔值,默认为 False。如果为 True,那么将生成一个额外的列,用于指示缺失值(NaN)的存在。这一列会在原始数据中出现 NaN(缺失值)的地方标记为 1,其余为 0。

1.3. 使用 NumPy 数组作为 DataFrame 的数据

您还可以使用 NumPy 数组作为 DataFrame 的数据并指定索引和列名:

python复制代码# 创建 NumPy 数组
data = np.array([[1, 2], [3, 4]])

# 将 NumPy 数组转换为 DataFrame,并指定索引和列名
df = pd.DataFrame(data, index=['row1', 'row2'], columns=['A', 'B'])
print(df)

1.4. tensorflow

  1. 转换为tensors,不能改变
tf.constant([[2, 1, 4, 3], [1, 2, 3, 4], [4, 3, 2, 1]])
  1. 转换为variable

文章作者: 小白菜
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 小白菜 !
评论
  目录