Напишите функцию, которая принимает
pandas.DataFrame и возвращает два столбца с наибольшей корреляцией.Пример:
import pandas as pd
data = pd.DataFrame({
"A": [1, 2, 3, 4],
"B": [2, 4, 6, 8],
"C": [5, 3, 6, 2],
"D": [10, 20, 30, 40]
})
result = find_highest_correlation(data)
print(result)
# Ожидаемый результат: ('B', 'D')
Решение задачи🔽
import pandas as pd
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
# Пример использования:
data = pd.DataFrame({
"A": [1, 2, 3, 4],
"B": [2, 4, 6, 8],
"C": [5, 3, 6, 2],
"D": [10, 20, 30, 40]
})
result = find_highest_correlation(data)
print(result)