文章目录
- Python hashlib 模块
- Python statistics 模块
- Python pyecharts 模块
Python hashlib 模块
Python 的 hashlib 模块是一个提供不同哈希算法实现的库,比如 MD5、SHA1、SHA256 等。这个模块允许你快速计算给定数据的哈希值,这在需要确保数据完整性、安全存储密码或创建唯一标识符的场合非常有用。
下面是 hashlib 模块的一些基础用法:
导入模块:
import hashlib
创建哈希对象: 你可以创建一个指定算法的哈希对象,例如:
hash_object = hashlib.md5()
更新数据: 使用 update() 方法可以添加需要计算哈希的数据:
hash_object.update('data to hash'.encode('utf-8'))
获取哈希值: 使用 hexdigest() 方法可以获取数据的哈希值的十六进制表示:
hex_dig = hash_object.hexdigest()
print(hex_dig) # 输出计算出的哈希值
使用不同的哈希算法: hashlib 支持多种算法,例如 SHA1、SHA256、SHA512 等:
sha1_hash = hashlib.sha1('data to hash'.encode('utf-8')).hexdigest()
sha256_hash = hashlib.sha256('data to hash'.encode('utf-8')).hexdigest()
安全存储密码: 虽然可以使用哈希来存储密码,但为了更高的安全性,通常还会加入盐值(salt)并使用 pbkdf2_hmac 算法:
salt = os.urandom(16)
pwdhash = hashlib.pbkdf2_hmac('sha256', b'password', salt, 100000)
使用 hashlib 时需要注意,一些算法(如 MD5 和 SHA1)已经不再安全,因为它们容易受到碰撞攻击。因此,建议使用更安全的算法,如 SHA256 或 SHA512。
Python statistics 模块
Python 的 statistics 模块提供了许多统计运算的函数。这个模块在 Python 3.4 及以上版本中是标准库的一部分。下面列出了一些常用的统计函数:
均值(Mean):
- mean(data) - 计算数据集的算术平均值。
- fmean(data) - 以浮点数形式计算均值,通常比 mean() 快。
中位数(Median): - median(data) - 计算数据集的中位数(中间值)。
- median_low(data) - 计算下中位数(中间两个值的第一个)。
- median_high(data) - 计算上中位数(中间两个值的第二个)。
- median_grouped(data, interval=1) - 用于分组数据的中位数计算。
模式(Mode): - mode(data) - 计算数据集中的众数(出现次数最多的值)。
方差和标准差(Variance and Standard Deviation): - variance(data, xbar=None) - 计算数据集的方差。
- stdev(data, xbar=None) - 计算数据集的标准差。
- pvariance(data, mu=None) - 用于总体方差。
- pstdev(data, mu=None) - 用于总体标准差。
偏度和峰度(Skewness and Kurtosis): - mean(data) - 计算数据集的偏度。
- kurtosis(data) - 计算数据集的峰度。
最小值和最大值(Minimum and Maximum): - min(data) - 返回数据集中的最小值。
- max(data) - 返回数据集中的最大值。
和数据范围(Sum and Range): - sum(data) - 计算数据集的和。
- range(data) - 计算数据集的最大值和最小值之差。
其他: - harmonic_mean(data) - 计算数据集的调和平均值。
- quantiles(data, n=4) - 计算分位数,默认情况下返回四分位数。
下面是一个使用 statistics 模块进行基本统计运算的例子:
import statisticsdata = [2.75, 1.75, 1.25, 0.25, 0.5, 1.25, 3.5]# 计算均值
print("Mean:", statistics.mean(data))# 计算中位数
print("Median:", statistics.median(data))# 计算方差
print("Variance:", statistics.variance(data))# 计算标准差
print("Standard Deviation:", statistics.stdev(data))
Python pyecharts 模块
pyecharts 是一个用于生成 Echarts 图表的 Python 库。Echarts 是百度开源的一个数据可视化工具,它提供了一系列丰富的图表类型,如折线图、柱状图、饼图、地图、雷达图等。pyecharts 库使得在 Python 环境中能够方便地使用 Echarts 来创建和展示图表。
要使用 pyecharts,首先需要安装它:
pip install pyecharts
安装完成后,你可以按照以下步骤来创建和展示图表:
导入所需的模块:
from pyecharts.charts import Bar
from pyecharts import options as opts
创建图表对象:
bar = Bar()
添加数据和配置:
bar.add_xaxis(["苹果", "橘子", "梨", "香蕉", "樱桃"])
bar.add_yaxis("水果店A", [5, 20, 36, 10, 75])
bar.add_yaxis("水果店B", [15, 6, 45, 20, 35])
bar.set_global_opts(title_opts=opts.TitleOpts(title="水果销量"))
渲染图表:
bar.render('my_chart.html') # 生成 HTML 文件
在 Jupyter Notebook 中直接显示图表:
bar.render_notebook() # 直接在 Jupyter Notebook 中显示图表
pyecharts 支持多种图表类型,每种图表类型都有自己的类。例如,如果你想创建一个折线图,你可以从 pyecharts.charts 导入 Line 类。pyecharts 还提供了丰富的配置选项,可以通过 opts 模块进行设置,以自定义图表的外观和行为。
此外,pyecharts 还支持链式调用,使得代码更加简洁:
from pyecharts.charts import Bar
from pyecharts import options as optsbar = (Bar().add_xaxis(["苹果", "橘子", "梨", "香蕉", "樱桃"]).add_yaxis("水果店A", [5, 20, 36, 10, 75]).add_yaxis("水果店B", [15, 6, 45, 20, 35]).set_global_opts(title_opts=opts.TitleOpts(title="水果销量"))
)bar.render('my_chart.html')
pyecharts 是一个功能强大的数据可视化工具,适用于快速创建交互式的图表,特别适合用于数据分析报告和仪表盘的开发。