Я хочу проверить, все ли значения в одном столбце набора данных больше, чем средние значения этого столбца

#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]