Напишите функцию, которая принимает DataFrame и возвращает имена двух столбцов с наибольшей положительной корреляцией.
➡️ Пример:
data = pd.DataFrame({
'A': [1, 2, 3, 4],
'B': [2, 4, 6, 8],
'C': [1, 0, 1, 0],
'D': [10, 20, 30, 40]
})
print(find_highest_correlation(data))
# Ожидаемый результат: ('B', 'D')Решение задачи ⬇️
def find_highest_correlation(df):
corr_matrix = df.corr()
max_corr = 0
columns = (None, None)
for col1 in corr_matrix.columns:
for col2 in corr_matrix.columns:
if col1 != col2 and corr_matrix[col1][col2] > max_corr:
max_corr = corr_matrix[col1][col2]
columns = (col1, col2)
return columns
# Пример использования:
import pandas as pd
data = pd.DataFrame({
'A': [1, 2, 3, 4],
'B': [2, 4, 6, 8],
'C': [1, 0, 1, 0],
'D': [10, 20, 30, 40]
})
print(find_highest_correlation(data)) # Ожидаемый результат: ('B', 'D')