Замена функции лямбда в выражении groupby - PullRequest
0 голосов
/ 18 октября 2018

Я чрезвычайно новичок в пандах, поэтому, пожалуйста, извините.

Мне удалось добиться желаемого результата с помощью следующего кода: -

import pandas as pd
pd.options.display.float_format = '£{:,.2f}'.format
data=pd.read_csv('calls.csv')
def markupfunc(df):
    if ( "ppm" not in df['Description']):
        return df['Salesprice'] * markup
    else:
        return df['Salesprice']
def seconds_to_minutes(df):
    return int(df['Duration'] / 60)
data['Customer Price'] = data.apply(markupfunc, axis = 1)
data['Total Call Minutes'] = data.apply(seconds_to_minutes, axis = 1) 
data['Call Count'] = 1
data['Network Access Reference'] = data['Network Access Reference'].str.replace('\d+', '')
data.rename(columns={'Salesprice':'Gamma Cost','Duration':'Duration (s)'}, inplace=True)
data.groupby(['Network Access Reference']).agg({'Gamma Cost':sum,'Customer Price':sum,'Call Count':'count','Total Call Minutes':sum})

Хотя он работает нормальноМне любопытно, как я мог бы улучшить код, используя лямбда-выражения внутри заключительного оператора data.groupby вместо использования функций.Я пробовал несколько способов, но каждый раз я получаю сообщение об ошибке.

Действительно ценю и руководство.

...