You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何对CSV文件数据使用df.value_counts统计魔方速拧秒数区间频次

魔方还原时间区间统计解决方案

你之前直接对浮点型还原时间列调用value_counts()只能统计精确值的出现次数,是因为没有先将数据归类到对应整数秒区间,按以下步骤操作即可实现需求:

1. 生成整数秒区间列

首先对还原时间列做向下取整,得到每个记录对应的整数秒区间(如9.87归到9秒区间、10.48归到10秒区间,符合≥n秒且<n+1秒的区间定义):

import pandas as pd
# 假设你存储还原秒数的列名为 solve_time
df['second_bucket'] = (df['solve_time'] // 1).astype(int)

2. 按区间统计次数

对生成的区间列调用value_counts()即可得到各区间的出现次数,搭配sort_index()可以让结果按区间从小到大排序:

# 统计结果为Series类型,索引是整数秒区间值,值是对应出现次数
bucket_counts = df['second_bucket'].value_counts().sort_index()

# 提取指定区间次数的示例:获取10秒区间的出现次数,无对应记录时返回0
count_10s = bucket_counts.get(10, 0)

如果需要补全所有中间区间的0次记录,可以添加重索引逻辑:

# 覆盖从最小到最大区间的完整范围,缺失区间自动填充次数为0
full_range = range(df['second_bucket'].min(), df['second_bucket'].max() + 1)
bucket_counts = bucket_counts.reindex(full_range, fill_value=0)

3. 结果导出为CSV

将统计结果转换为DataFrame后即可直接导出为新的CSV文件:

result_df = bucket_counts.reset_index()
# 重命名列,语义更清晰
result_df.columns = ['整数秒区间', '出现次数']
# 导出CSV,不保留默认索引列
result_df.to_csv('solve_time_bucket_count.csv', index=False)

示例验证

对你给出的示例数据[10.48, 11.22, 13.26, 9.87],运行上述代码后得到的统计结果为:

整数秒区间出现次数
91
101
111
131

内容的提问来源于stack exchange,提问作者Gauthier C.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 12:27:06