首页  

python实用代码     所属分类 quant 浏览量 248
help(math.log)
dir(math)

切片
[start:end:step] 
只有一个 : 时,step=1
没有 : 时, 获取指定的元素
list[0]  第一个元素
list[-1] 最后一个元素

list[0:-2]

list  = ["a","b","c","d","e"]


# ['c', 'b', 'a']
print(list[2::-1])


# ['a', 'b']
print(list[:2]) 

# ['a', 'b', 'c', 'd']
# 左闭右开 ,不包含最后一个元素
list[0:-1]


# ['a', 'c', 'e']   
print(list[::2])

#   -1 逆序
print(list[::-1])

# 直接修改 list 
list.sort()
list.sort(reverse=True)

# 8
print(2**3)

import math
# 8
print(math.pow(2,3))

# 查看 math.pow 用法
help(math.pow)

# 查看 math包下的方法
dir(math)


计算方差和标准差

import statistics 
data = [1, 2, 3, 4, 5] 
# 除以 len(data) - 1
print(statistics.variance(data)) 
print(statistics.stdev(data)) 

# 使用 numpy 
# 默认 除以 len(data) 
print(np.var(data))
print(np.std(data))


# 无偏 分母n-1, 有偏 分母n
print(np.var(data,ddof=1))
print(np.std(data,ddof=1))





计算协方差和相关系数

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

cov_xy = np.cov(x, y)
print(cov_xy)

[[ 2.5 -2.5]
 [-2.5  2.5]]

print(cov_xy[0,1])

-2.5 

协方差和相关系数都是用来衡量两个变量之间的关系
相关系数不会因为变量的量级不同而产生影响,因此相关系数比协方差更为常用。


corrcoef = np.corrcoef(x, y)[0, 1]
print("相关系数为:", corrcoef)

相关系数为: -0.9999999999999999


计算四分位
import pandas as pd
import numpy as np

arr = range(0,100)
result = np.percentile(arr, (25, 50, 75))
result = pd.DataFrame(arr).describe()

 python计算四分位   



计算中位数

import statistics as stat
import numpy
import pandas as pd 

arr = [4,6,1,5,2,3,7,5]
print(np.median(arr))
print(stat.median(arr))
df = pd.DataFrame(arr) 
print(df.median()[0])

arr.append(8)
print(np.median(arr))
print(stat.median(arr))

df = pd.DataFrame(arr) 
print(df.median()[0])



# 8
2**3

import math 
# 3.141592653589793
print(math.pi)
# 2.718281828459045
print(math.e)
# 5.0
print(math.sqrt(25))
# 1.0
print(math.sin(math.pi / 2))
# 0.5000000000000001
print(math.cos(math.pi / 3))
# 7.38905609893065
print(math.exp(2))
# 2.0
print(math.log(math.exp(2)))


使用 datetime模块处理日期和时间 import datetime # 获取当前日期和时间 current_datetime = datetime.datetime.now() print(f"Current datetime: {current_datetime}") # 获取三天后的日期 three_days_later = current_datetime + datetime.timedelta(days=3) print(f"Three days later: {three_days_later}")
使用列表解析和 endswith查找特定扩展名的文件 import os # 获取当前目录下的所有文件和目录 items = os.listdir() # 使用列表解析找出所有.txt文件 txt_files = [item for item in items if item.endswith('.txt')] print(txt_files)
使用 else 子句与 try-except try: x = 1 / 1 except ZeroDivisionError: print("You tried to divide by zero!") else: print(f"Result is {x}")
使用 re模块进行正则表达式匹配 import re # 定义一个字符串 string = "The rain in Spain" # 使用re.search查找匹配的字符串 match = re.search(r"Spain", string) if match: print("Match found!") else: print("Match not found.") # 定义一个字符串 string = "Email me at john.doe@example.com" # 使用正则表达式匹配电子邮件地址 match = re.search(r'[\w.-]+@[\w.-]+', string) if match: print(f"Found email: {match.group()}")
使用 argparse 解析命令行参数 import argparse # 初始化解析器 parser = argparse.ArgumentParser(description="A simple argument parser") # 添加参数 parser.add_argument("--name", type=str, help="Your name") # 解析参数 args = parser.parse_args() # 输出结果 print(f"Hello, {args.name}!") # 输出:Hello, None!
使用 filter 函数过滤列表 # 定义一个数字列表 numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # 使用filter函数过滤出偶数 evens = list(filter(lambda x: x % 2 == 0, numbers)) print(evens) # 输出:[2, 4, 6, 8, 10]
使用 namedtuple 创建简单的对象 namedtuple 提供了一种创建简单对象的方法,不需要定义一个完整的类。 from collections import namedtuple # 使用namedtuple定义一个简单的对象 Person = namedtuple("Person", ["name", "age", "city"]) # 创建一个新的Person对象 john = Person(name="John", age=30, city="New York") print(john.name, john.age, john.city) # 输出:John 30 New York
使用 math模块进行数学计算 import math # 计算平方根 sqrt_value = math.sqrt(16) print(f"Square root of 16: {sqrt_value}") # 计算圆的面积 radius = 5 area = math.pi * radius**2 print(f"Area of circle with radius 5: {area:.2f}") # 输出:Area of circle with radius 5: 78.54
使用 numpy计算数组的累计和 import numpy as np array = np.array([1, 2, 3, 4, 5]) # 使用numpy计算数组的累计和 cumsum = np.cumsum(array) print(cumsum) # 输出:[ 1 3 6 10 15]
使用 pandas 处理时间序列数据 import pandas as pd # 创建一个时间序列数据框 date_rng = pd.date_range(start='2023-01-01', end='2023-01-10', freq='D') df = pd.DataFrame(date_rng, columns=['date']) df['data'] = np.random.randint(0, 100, size=(len(date_rng))) # 设置日期为索引 df.set_index('date', inplace=True) print(df)
使用 matplotlib 绘制饼状图 import matplotlib.pyplot as plt labels = ['A', 'B', 'C', 'D'] sizes = [15, 30, 45, 10] # 使用matplotlib绘制饼状图 plt.pie(sizes, labels=labels, autopct='%1.1f%%', startangle=90) plt.axis('equal') # Equal aspect ratio ensures that pie is drawn as a circle. plt.show()
使用 numpy 的 linspace 生成均匀间隔的值 import numpy as np # 使用numpy的linspace生成从0到10的10个均匀间隔的值 values = np.linspace(0, 10, 10) print(values)
使用 pandas 计算数据的描述性统计 import pandas as pd data = { 'A': [1, 2, 3, 4, 5], 'B': [5, 6, 7, 8, 9], 'C': [9, 8, 7, 6, 5] } df = pd.DataFrame(data) stats = df.describe() print(stats)

上一篇     下一篇
log4j2 配置获取环境变量和系统变量

2022量化金融分析师AQF全国统一考试考试大纲

《量化投资 以python为工具》知识点

2023中国量化科技白皮书数据解读

AIGC术语

numpy polyfit 多项式拟合