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

基于日期条件筛选财务比率数据集并转换日期格式

解决方案:批量处理财务比率数据集

针对你拥有的4000+公司、15万+条记录的财务比率数据集,以下是基于Python pandas的高效处理方案,完全匹配你的需求:

1. 数据读取与预处理

首先将数据集读入pandas DataFrame,支持CSV、Excel等常见格式:

import pandas as pd

# 读取空格分隔的数据集(如果是CSV用pd.read_csv('your_file.csv'),Excel用pd.read_excel)
df = pd.read_csv('financial_data.txt', sep='\s+')

# 将日期列转为datetime类型,方便后续日期比较(可选但推荐)
df['StartDate'] = pd.to_datetime(df['StartDate'], format='%Y%m%d')
df['EndDate'] = pd.to_datetime(df['EndDate'], format='%Y%m%d')

2. 筛选完整周期数据(删除季度更新行)

按公司名称和StartDate分组,保留每组中EndDate最晚的记录(即完整周期的财务数据),这种方法处理15万条数据效率极高:

# 获取每组中EndDate最大的行的索引
idx = df.groupby(['CopanyName', 'StartDate'])['EndDate'].idxmax()
# 根据索引筛选数据
filtered_df = df.loc[idx].reset_index(drop=True)

3. 生成Year列并整理最终格式

从StartDate提取年份,然后保留需要的列:

# 提取年份(如果没转datetime,用df['StartDate'].str[:4].astype(int))
filtered_df['Year'] = filtered_df['StartDate'].dt.year

# 整理成最终需要的列顺序
final_df = filtered_df[['CopanyName', 'Year', 'ROA', 'ROE']]

# 查看结果或保存到文件
print(final_df)
final_df.to_csv('cleaned_financial_data.csv', index=False)

关键说明

  • 该方案完全自动化处理,无需手动操作,适合大规模数据集
  • 分组逻辑严格匹配你的示例:每个公司的同一StartDate周期下,仅保留最后一条(完整周期)记录
  • 若日期格式存在异常,可先通过df['StartDate'] = pd.to_datetime(df['StartDate'], format='%Y%m%d', errors='coerce')清洗无效日期

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 19:48:45