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

如何用Pandas按日期范围分组整理经济流动性项目参与者信用评分变化

基于Pandas整理信用评分变化数据的解决方案

需求背景

需要整理经济流动性项目参与者的信用评分变化,原始数据如下:

Name        Date      Credit Score
0   John Doe  2022.01.03               653
1  Mary Jane  2022.01.05               720
2   John Doe  2022.08.14               695
3  Mary Jane  2022.09.17               640

需整理为如下目标格式:

Name      initial Score  updated score 
John Doe            653            695
Mary Jane           720            640

解决方案

核心思路是拆分初始评分(日期≤2022-07-01)和更新评分(日期>2022-07-01)两个数据集,再按用户姓名合并:

  1. 导入依赖并读取数据
    导入Pandas并构造/读取原始数据:

    import pandas as pd
    
    # 构造原始数据(也可从csv/excel文件读取)
    data = {
        'Name': ['John Doe', 'Mary Jane', 'John Doe', 'Mary Jane'],
        'Date': ['2022.01.03', '2022.01.05', '2022.08.14', '2022.09.17'],
        'Credit Score': [653, 720, 695, 640]
    }
    df = pd.DataFrame(data)
    
  2. 转换日期格式
    将Date列转为datetime类型,方便后续日期筛选:

    df['Date'] = pd.to_datetime(df['Date'], format='%Y.%m.%d')
    
  3. 拆分初始与更新数据
    分别筛选两类数据并重命名列名:

    # 提取初始评分数据
    initial_df = df[df['Date'] <= '2022-07-01'][['Name', 'Credit Score']].rename(columns={'Credit Score': 'initial Score'})
    # 提取更新评分数据
    updated_df = df[df['Date'] > '2022-07-01'][['Name', 'Credit Score']].rename(columns={'Credit Score': 'updated score'})
    
  4. 合并数据集
    按Name列合并两个数据集,输出目标格式:

    result_df = pd.merge(initial_df, updated_df, on='Name')
    print(result_df.to_string(index=False))
    

运行代码后,输出结果将完全匹配目标格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 06:05:15