Пользовательские функции Pandas в возвращении значений столбцов

1

Пожалуйста, помогите мне в написании пользовательских функций pandas, в цикле замешательства в возврате определенных значений строк и столбцов в качестве пользовательских результатов, я хочу вернуть значения col без использования разрезания без пользовательских функций, таких как numpy (np.mean), и мне нужен только параметр для передачи - dataset 'df' для пользовательской функции. В непрофессиональном режиме я хочу вернуть столбец ['A', 'B'] из функции col_mean(), передав dataset "df" без использования разрезания pandas и предопределенных функций, таких как mean/np.mean. Ниже приведен мой набор данных, пожалуйста, дайте мне код логика в получении значений col.

df = pd.DataFrame({'A': [10,20,30], 'B': [20, 30, 10]})
 def col_men(df):
     means=[0 for i in range(df.shape[1])]
     for k in range(df.shape[1]):
         col_values=[row[k] for row in df]
         means[k]=sum(col_values)/float(len(df))
     return means
Теги:
pandas
dataframe

1 ответ

1

Вместо использования range(df.shape[1]) используйте enumerate(df.columns), поэтому вы сохраняете как имя, так и позицию:

df = pd.DataFrame({'A': [10,20,30], 'B': [20, 30, 10]})
def col_men(df):
    means=[0 for i in range(df.shape[1])]
    for index, k in enumerate(df.columns):
        col_values=[row for row in df[k]]
        means[index]=sum(col_values)/len(df)
    return means
col_men(df)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню