按行进行SUMIF和DATEDIF
创始人
2024-08-22 03:30:12
0

以下是一个按行进行SUMIF和DATEDIF的解决方法的代码示例:

import pandas as pd
from datetime import datetime

# 创建示例数据
data = {'Name': ['John', 'Emily', 'James', 'Amy'],
        'Start Date': ['2022-01-01', '2022-02-01', '2022-03-01', '2022-04-01'],
        'End Date': ['2022-01-31', '2022-02-28', '2022-03-31', '2022-04-30'],
        'Amount': [1000, 2000, 3000, 4000]}
df = pd.DataFrame(data)

# 将日期列转换为日期类型
df['Start Date'] = pd.to_datetime(df['Start Date'])
df['End Date'] = pd.to_datetime(df['End Date'])

# 计算每行的日期差
df['Duration'] = (df['End Date'] - df['Start Date']).dt.days

# 计算每行的总和
df['Total Amount'] = df.apply(lambda row: df.loc[(df['Name'] == row['Name']) & (df['Start Date'] <= row['Start Date']) & (df['End Date'] >= row['End Date']), 'Amount'].sum(), axis=1)

print(df)

这段代码使用了Pandas库来处理数据。首先,将日期列转换为日期类型,然后计算每行的日期差并将结果存储在'Duration'列中。接下来,使用apply函数来逐行计算总和。在lambda函数中,使用条件筛选出符合条件的行,并对它们的'Amount'列求和。最后,将结果存储在'Total Amount'列中。

输出结果如下:

   Name Start Date   End Date  Amount  Duration  Total Amount
0  John 2022-01-01 2022-01-31    1000        30          1000
1  Emily 2022-02-01 2022-02-28    2000        27          2000
2  James 2022-03-01 2022-03-31    3000        30          3000
3    Amy 2022-04-01 2022-04-30    4000        29          4000

以上代码示例中使用了Pandas库来处理数据,通过创建DataFrame对象来存储数据,然后使用Pandas提供的函数和方法进行计算和筛选操作。

相关内容

热门资讯

近日!wpk辅助是什么,赣牌圈... 近日!wpk辅助是什么,赣牌圈挂安装图解,原来真的是有辅助教程(哔哩哔哩)1、让任何用户在无需赣牌圈...
近期!wepoker辅助透视,... 近期!wepoker辅助透视,山西扣点点透视软件交易平台,果然是有辅助技巧(哔哩哔哩)1.山西扣点点...
受玩家影响!pokemmo手机... 受玩家影响!pokemmo手机脚本辅助器,丫丫陕西免费插件,果然是有辅助神器(哔哩哔哩)1、poke...
有消息称!佛手大菠萝有挂吗,多... 有消息称!佛手大菠萝有挂吗,多乐跑辅助,总是真的是有辅助教程(哔哩哔哩)在进入佛手大菠萝有挂吗软件靠...
据目击者称!德州局透视,新道游... 据目击者称!德州局透视,新道游app辅助器,确实有辅助工具(哔哩哔哩)1、打开软件启动之后找到中间准...
近期!wepoker看底牌,w... 近期!wepoker看底牌,werplan免费挂下载,确实真的有辅助app(哔哩哔哩)所有人都在同一...
出现新变化!wepoker好友... 出现新变化!wepoker好友局透视,新西楚大厅辅助,其实真的有辅助工具(哔哩哔哩)1、新西楚大厅辅...
近期!we-poker辅助,圣... 近期!we-poker辅助,圣游辅助软件,切实真的是有辅助app(哔哩哔哩)1、操作简单,无需圣游辅...
于此同时!哈糖大菠萝万能挂,7... 于此同时!哈糖大菠萝万能挂,789大菠萝脚本,好像真的是有辅助脚本(哔哩哔哩)1、上手简单,内置详细...
据通报!拱趴大菠萝万能挂,约局... 据通报!拱趴大菠萝万能挂,约局吧可以看到别人底牌,都是是有辅助方法(哔哩哔哩)1、玩家可以在约局吧可...