Пожалуйста, помогите мне в написании пользовательских функций 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
Вместо использования 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)