Я новичок ie для языка Pyhton. Прямо сейчас я собираюсь создать фрейм данных из вложенного l oop. Прямо к данным. Пример: X_train. X_train имеет 9 строк и 4 столбца (или функции)
print(X_train)
0 1 2 3
0 0.00 0.00 0.09 0.00
1 0.10 0.00 0.00 0.12
2 0.71 0.00 0.40 0.20
3 1.00 0.00 0.54 0.14
4 0.88 0.00 0.65 0.28
5 0.77 0.00 0.68 0.33
6 0.71 0.00 0.97 0.43
7 0.65 0.00 0.56 0.69
8 0.27 1.00 0.24 1.00
Затем я создаю функцию (вложенную для l oop) для создания нового кадра данных, который имеет размер строк и столбцов (например, квадрат матрицы) , Ниже функции:
import pandas as pd
def function1(data):
for i in range(len(X_train.index)):
for j in range(len(X_train.index)):
sum_row = 0
distance = 0
for k in range(len(X_train.columns)):
distance = pow((X_train.values[i,k]-X_train.values[j,k]),2)
sum_row = sum_row + distance
df_test1 = pd.DataFrame(sum_row, index=[i], columns=[j])
print(df_test1)
Результат этой функции:
function1(X_train)
0
0 0.0
1
0 0.035896
2
0 0.654024
3
0 1.228754
4
0 1.171765
5
0 1.063763
6
0 1.485153
7
0 1.140283
8
0 2.096477
0
1 0.035896
1
1 0.0
2
1 0.544068
3
1 1.10117
4
1 1.053592
5
1 0.958978
6
1 1.421161
7
1 0.946359
8
1 1.841666
.
.
.
0
8 2.096477
1
8 1.841666
2
8 1.854826
3
8 2.346288
4
8 2.059677
5
8 1.892121
6
8 2.065235
7
8 1.345284
8
8 0.0
Из приведенного выше объяснения и на основе вопроса ожидаемый кадр данных, который я хочу:
function1(X_train)
0 1 2 3 4 5 6 7 8
0 0.00 0.03 0.65 1.22 1.17 1.06 1.48 1.14 2.09
1 0.03 0.00 0.54 1.10 1.05 0.95 1.42 0.94 1.84
2 . . . . . . . . .
3 . . . . . . . . .
4 . . . . . . . . .
5 . . . . . . . . .
6 . . . . . . . . .
7 . . . . . . . . .
8 2.09 1.84 1.85 2.34 2.05 1.89 2.06 1.34 0.00
Надеюсь, кто-нибудь поможет мне решить эту проблему. Спасибо