Условия в функциях в пандахPython

Программы на Python
Ответить
Anonymous
 Условия в функциях в пандах

Сообщение Anonymous »

Я новичок в Pandas и пытаюсь понять, как создавать/использовать функции, выполнять простые операторы if-else. Я написал следующую функцию Average_shares(), но она не работает так, как я ожидаю (потому что она должна быть написана для строк, а не для столбцов, но я не понимаю/не знаю, как исправить следующий код. В простом мире, отличном от панд, я бы написал for i in range(len(column)): сделайте следующее.
В учебниках по пандам они не использовали циклы for, они использовали apply(); они создали функции со строкой параметра (почему бы не dataframe df в качестве параметра?). Я пытался сделать то же самое, но это не сработало. В общем, я просто не знаю, как сделать простую вещь в пандах, и надеялся, что кто-нибудь сможет мне показать.

Код: Выделить всё

df = pd.DataFrame({'id': [1, 1, 1], 'week': [1, 1, 2], 'order': [2, 4, 3]})
df['index'] = df.groupby(['id', 'week']).cumcount()+1 #can be many id-s (not only id=1)
df['share'] = df['order']/df.groupby(['id', 'week'])['order'].transform('sum')
df['len'] = (df.groupby(['id', 'week']))['order'].transform('count')

def average_shares(df):
if df['repeats']>2:
df = df[(df['share'])>0.05 & (df['share']

Подробнее здесь: [url]https://stackoverflow.com/questions/79040490/conditions-in-functions-in-pandas[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»