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

Python中如何转换DataFrame以进行时间序列分析并统计每日文本频次

统计每日文本出现频次的实现方案

以下基于Python Pandas库实现,假设你已经将原始数据集读入为DataFrame,命名为raw_df:

步骤1:标准化日期格式

首先确保日期列格式统一,避免字符串格式差异导致分组错误:

import pandas as pd

# 将日期列转为datetime类型后统一为yyyy-mm-dd格式,可根据需要选择输出为date类型或字符串类型
# 方式1:输出为date对象类型
raw_df['日期字段'] = pd.to_datetime(raw_df['日期字段']).dt.date
# 方式2:输出为字符串类型
# raw_df['日期字段'] = pd.to_datetime(raw_df['日期字段']).dt.strftime('%Y-%m-%d')

步骤2:按需求生成统计结果

方案A:生成仅包含唯一日期和对应频次的新DataFrame

# 按日期分组统计text列的非空数量
freq_df = raw_df.groupby('日期字段', as_index=False)['text'].count()
# 重命名列,方便后续时间序列分析使用
freq_df.columns = ['统计日期', '当日文本频次']

得到的freq_df就是你需要的、仅包含唯一日期和对应文本数量的数据集,可直接用于后续可视化或分析。

方案B:在原始数据集上新增频次列

如果你不需要单独的统计表,而是要给原始每一行数据增加对应日期的总频次:

raw_df['当日文本总频次'] = raw_df.groupby('日期字段')['text'].transform('count')

可选优化:补全频次为0的日期

如果你的分析需要覆盖整个两年周期,包含没有文本产生、频次为0的日期,可以额外执行以下代码补全:

# 生成覆盖整个数据周期的完整日期序列
full_dates = pd.date_range(start=freq_df['统计日期'].min(), end=freq_df['统计日期'].max(), freq='D').date
# 补全缺失日期,频次默认填0
freq_df = freq_df.set_index('统计日期').reindex(full_dates, fill_value=0).reset_index()
freq_df.columns = ['统计日期', '当日文本频次']

内容的提问来源于stack exchange,提问作者Piyush Ghasiya

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 14:45:04