Предмет: Информатика, автор: warface223472

Решите задачу по Python

Приложения:

Ответы

Автор ответа: flash77779
0

import numpy as np

import pandas as pd

df = pd.read_csv('input.csv')

# Определяем пустой список для результатов

results = []

# Проходим по каждому столбцу

for col in df.columns[1:]:  # Исключаем первый столбец, так как он содержит индексы

   max_corr = 0  # Сначала устанавливаем максимальную корреляцию как 0

   for other_col in df.columns[1:]:

       if col != other_col:  # Исключаем корреляцию столбца самого с собой

           correlation = abs(df[col].corr(df[other_col]))

           if correlation > max_corr:

               max_corr = correlation

   results.append(round(max_corr, 2))

print(results)




В коде мы проходим по каждому столбцу, находим его корреляцию с каждым другим столбцом и сохраняем максимальное абсолютное значение корреляции для каждого столбца в списке results.


warface223472: При вводе ",0 " получаем [0], а должны получить [1.0]
warface223472: Исправьте код
flash77779: import numpy as np
import pandas as pd

def get_max_correlations_v2(df):
if len(df.columns) <= 2: # Учитывая столбец с индексами, реальное количество столбцов с данными будет <= 1
return [1.0]
flash77779: results = []
for col in df.columns[1:]:
max_corr = 0
for other_col in df.columns[1:]:
if col != other_col:
correlation = abs(df[col].corr(df[other_col]))
if correlation > max_corr:
max_corr = correlation
if np.isnan(max_corr):
max_corr = 0.0
results.append(round(max_corr, 2))
return results

# Загрузка данных
df = pd.read_csv("input.csv")

# Получение максимальных корреляций
results = get_max_correlations_v2(df)
print(results)
flash77779: исправил
Похожие вопросы
Предмет: Химия, автор: chashkacoffe171109
Предмет: Алгебра, автор: lisenokpehteleva97