Я новичок в Pandas и пытаюсь понять, как создавать/использовать функции, выполнять простые операторы if-else. Я написал следующую функцию Average_shares(), но она не работает так, как я ожидал (потому что она должна быть написана для строк, а не для столбцов, но я этого не понимаю/не знаю, как исправить следующий код. В простом мире, где нет панд, я бы написал for i in range(len(column)): выполните следующие действия. В учебниках по пандам они не использовали циклы, они использовали apply(); они создали функции со строкой параметра (почему бы не dataframe df в качестве параметра?). Я пытался сделать то же самое, и это не сработало. В общем, я просто не знаю. как сделать простую вещь в пандах, и я надеялся, что кто-нибудь сможет мне показать.
Код: Выделить всё
df['share'] = df['order'] / df.groupby(['week', 'id'])['order'].transform('sum')
df['index'] = df.groupby(['week', 'id']).cumcount() + 1
df['repeats'] = df.groupby(['week', 'id'])['order'].transform('count')
def average_shares(df):
if df['repeats']>2:
df = df[(df['share']) & (df['share']
Подробнее здесь: [url]https://stackoverflow.com/questions/79040490/conditions-in-functions-in-pandas[/url]