Page 1 of 1

Suche nach Ratschlägen zu effizienten Pandas -Operationen für die bedingte Summierung

Posted: 12 Apr 2025, 17:31
by Anonymous
Ich bin ein Neuling von Python und Pandas und würde mich über jede Hilfe freuen, die ich bekommen kann. Ich habe den folgenden Code und möchte wissen, ob es eine effizientere Möglichkeit gibt, ihn zu schreiben, um die Leistung zu verbessern. Ich habe versucht, Cumsum zu verwenden, aber es gibt mir nicht die gleiche Ausgabe. /> Code: < /p>

Code: Select all

import pandas as pd
from datetime import datetime

# Create the dataframe
data = {
'employeeID': [2, 2, 2, 2, 2, 2, 2],
'groupName': ['A', 'A', 'A', 'A', 'A', 'B', 'A'],
'agreementID': [7, 7, 1, 1, 8, 9, 6],
'agreementDate': ['3/1/2025', '3/1/2025', '4/1/2025', '3/1/2025', '2/1/2025', '3/1/2025', '3/1/2025'],
'trancheID': [28, 29, 26, 27, 30, 31, 32],
'vesting_year': [2025, 2026, 2026, 2027, 2026, 2026, 2026],
'vesting_value_CAD': [200, 300, 400, 500, 50, 30, 40]
}

df = pd.DataFrame(data)

# Convert agreementDate to datetime
df['agreementDate'] = pd.to_datetime(df['agreementDate'], format='%m/%d/%Y')

# Function to calculate total vesting_value_CAD for each trancheID
def calculate_total_vesting_value(row):
# Filter the dataframe based on the conditions
filtered_df = df[(df['employeeID'] == row['employeeID']) &
(df['groupName'] == row['groupName']) &
(df['vesting_year'] == row['vesting_year']) &
(df['agreementDate']