pandas.cut 函数用于将数据按指定区间进行分箱(binning)。当处理连续型数据并需要将其离散化为若干类别时,这个函数非常有用,例如创建频率分布表或直方图。
考虑以下数据和初始尝试的代码:
import pandas as pd import numpy as np import math # 模拟原始问题中的 'book price' 数据 np.random.seed(42) # 保证结果可复现 # 生成一个在5到49之间,包含100个浮点数的Series data_values = np.random.uniform(5.0, 49.0, 100) top_books = pd.DataFrame({'book price': data_values}) top_books.index.name = 'Rank' print("原始数据示例:") print(top_books['book price'].head()) # 原始尝试的代码片段 cn = math.sqrt(len(top_books['book price'])) # 使用整数除法,这可能导致精度问题 cr_initial = (max(top_books['book price']) - min(top_books['book price'])) // cn print(f"\n初始计算的分箱数量 (cn): {cn:.2f}") print(f"初始计算的分箱宽度 (cr): {cr_initial:.2f}") data_sorted = np.sort(top_books["book price"].values) # 使用pd.cut进行分箱 binned_output_initial = pd.cut(x=data_sorted, bins=int(cn)) print("\n初始pd.cut输出示例:") print(binned_output_initial)
输出分析:
原始数据示例: Rank 0 23.975429 1 35.535805 2 16.945536 3 38.384722 4 10.370830 Name:
以上就是Pandas cut 函数进阶:理解输出与定制分箱区间的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 //m.sbmmt.com/ All Rights Reserved | php.cn | 湘ICP备2023035733号