python备忘录

面向对象

call

允许一个类的实例表现得像函数一样,可以被调用。这意味着你可以定义一个对象,然后像调用普通函数那样使用圆括号()来调用它。

class CallableClass:
    def __init__(self, value):
        self.value = value
    def __call__(self, addend):
        return self.value + addend
# 创建CallableClass的实例
my_instance = CallableClass(10)
# 调用实例,就像调用函数一样
result = my_instance(5)  # 这将调用__call__方法
print(result)  # 输出15

os

1. os.path.join()

智能地拼接一个或多个路径部分。这个函数会根据操作系统自动处理路径分隔符(例如在 Windows 上是反斜杠 \,而在 Unix/Linux 上是正斜杠 /)。

import os
# 基础路径
base_path = '/home/user'
# 要拼接的路径部分
sub_folder = 'documents'
file_name = 'report.txt'
# 使用 os.path.join 拼接路径
full_path = os.path.join(base_path, sub_folder, file_name)
print(full_path)  # 输出: /home/user/documents/report.txt

pandas

Pandas 是一个强大的数据分析工具,提供了许多函数来处理和分析数据。以下是一些常用的 Pandas 函数:

读取数据

pd.read_csv(file_path): 读取 CSV 文件。
pd.read_excel(file_path): 读取 Excel 文件。
pd.read_sql(query, connection): 从 SQL 数据库读取数据。

数据查看

head(): 显示数据的前几行。
tail(): 显示数据的后几行。
info(): 显示数据的基本信息,如行数、列数、每列的数据类型等。
describe(): 生成数据的描述性统计信息。

数据选择

loc[]

loc用于通过标签选择数据,可以用于选择行、列或行和列的组合。它接受一个或多个标签

  1. 选择特定的行和列:
df.loc['row_label', 'column_label']
df.loc[['row_label1', 'row_label2'], ['column_label1', 'column_label2']]
  1. 条件选择
df.loc[df['column_label'] > 10]

iloc[]: 通过整数位置选择数据。

[]: 通过列名选择数据。

数据清洗

dropna(): 删除含有缺失值的行或列。
fillna(value): 用指定值填充缺失值。
drop_duplicates(): 删除重复的行。

数据转换

apply(func): 对数据框的每一行或每一列应用函数。
map(func): 对 Series 中的每个值应用函数。
replace(old_value, new_value): 替换值。

数据合并

merge(df1, df2): 合并两个数据框。
concat(df_list): 连接多个数据框。
join(df1, df2): 连接两个数据框。

数据重塑

pivot(index, columns, values): 数据透视表。
melt(): 重塑数据框,将宽格式转换为长格式。
stack(): 将列转换为多级索引。
unstack(): 将多级索引转换为列。

数据统计

sum(): 求和。
mean(): 求平均值。
median(): 求中位数。
min(): 求最小值。
max(): 求最大值。
std(): 求标准差。
var(): 求方差。

数据分组:

groupby(column): 根据列分组数据。

数据筛选:

query(expr): 使用字符串表达式筛选数据。
filter(items): 根据条件筛选数据。

数据排序:

sort_values(by): 根据值排序。
sort_index(): 根据索引排序。

数据重塑:

reshape(shape): 改变数据的形状。

数据类型转换:

astype(dtype): 转换数据类型。

数据索引:

set_index(keys): 设置新的索引。
reset_index(): 重置索引。

数据保存:

to_csv(file_path): 保存为 CSV 文件。
to_excel(file_path): 保存为 Excel 文件。
to_sql(name, con): 保存到 SQL 数据库。
Pandas 非常灵活,可以处理各种复杂的数据分析任务。

scikit-learn

train_test_split

X 和 y 是你的特征矩阵和目标变量。
test_size 是测试集的大小,默认为 0.25,即 25% 的数据用于测试。
random_state 是一个随机数种子,用于确保每次分割都是可复现的。

import numpy as np
from sklearn.model_selection import train_test_split
# 创建一个简单的数据集
X = np.array([[1, 2], [3, 4], [5, 6], [7, 8]])
y = np.array([1, 2, 3, 4])
# 分割数据集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

X_train 和 y_train 将包含 80% 的数据,而 X_test 和 y_test 将包含 20% 的数据。

posted @   saulstavo  阅读(2)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示