#python #pandas #dataset
#python #pandas #набор данных
Вопрос:
Я хочу сверить все значения в столбце с одним значением (средним значением) того же столбца, а затем разделить на два списка.
means = np.mean(X[0], axis=0)
X = df.iloc[:, :4]
Как я могу проверить, являются ли значения X[0] <= или > больше среднего, и разделить эти значения на два?
print(X.head(5))
print(np.mean(X[0].head(5),axis=0))
Комментарии:
1. можете ли вы опубликовать пример ввода и ожидаемый результат
2. Вы пробовали
X.to_numpy() <= means
? Это вернет массив логических значений, которые вы могли бы позже использовать для разделения?3. Не
machine-learning
вопрос, пожалуйста, не спамите нерелевантные теги (удалены).
Ответ №1:
Это то, что вы ищете?
import pandas as pd
import numpy as np
df = pd.DataFrame({'col_0':[3.6,4.5,3.8,3.4,0.3],
'col_1':[8.6,8.1,-2.6,9.5,-4.4],
'col_2':[-2.8,-2.4,1.9,-4.0,4.5],
'col_3':[-0.4,-1.4,0.1,-3.5,-0.9]})
# Filter out rows where column is less than or equal to mean
# create list of values for first column
greater = df[df['col_0'] > df['col_0'].mean()]
greater_than_list = greater['col_0'].to_list()
# Filter out rows where column is greater than the mean
# create list of values for first column
less = df[df['col_0'] <= df['col_0'].mean()]
less_than_list = less['col_0'].to_list()
print(greater_than_list)
print(less_than_list)
вывод:
greater_than_list
[3.6, 4.5, 3.8, 3.4]
less_than_list
[0.3]