У меня очень тупо спроектированные данные ... на самом деле их много, и я не могу это изменить.Моя цель - создать Матрицу корреляции, которая не вычисляется пандами.Это уже сделано другим программным обеспечением .... Если я читаю данные в панды, кадр данных выглядит следующим образом:
Scores TESTS Score1 Score2 Score3 .......
0 Score1 Pearson-Korrelation 1.000 0.330 0.330
1 Score1 p_value NaN 0.05 0.07
3 Score2 Pearson-Korrelation 0.330 1.000 0.330
4 Score2 p_value 0.02 NaN 0.1
6 Score3 Pearson-Korrelation 0.330 0.330 1.000
7 Score3 p_value 0.1 0.05 NaN
.........
The_p_value принадлежит значению "Pearson-Korrelation" непосредственно над ним.Чего я хочу добиться, так это структуры данных, в которой все значения корреляции Пирсона, где p_value больше 0,05 или NaN, устанавливаются в NaN. Требуемый результат:
Scores TESTS Score1 Score2 Score3 .......
0 Score1 Pearson-Korrelation NaN 0.330 NaN
1 Score1 p_value NaN 0.05 0.07
3 Score2 Pearson-Korrelation 0.330 NaN NaN
4 Score2 p_value 0.02 NaN 0.1
6 Score3 Pearson-Korrelation NaN 0.330 NaN
7 Score3 p_value 0.1 0.05 NaN
.........
Позже я хочу удалить все строкисодержащий p_values с:
df = df[df.TESTS != "p_value"]
После этого я хотел бы удалить весь столбец TESTS и создать график корреляционной матрицы, подобный этому:
Link1
Link2
однако я все еще не могу понять, как фильтровать данные ...
В принципе, в идеале я хотел бы преобразоватьданные такие, что они имеют такую же структуру, как если бы я использовал функцию ibuild от панд через:
df = df.corr ()
Но у меня нет исходных данных дляСделай так.Таким образом, я также смог бы установить симилляр уровня значимости в R:
Link3
Но решение, в котором все данные с неправильными значениями p_values установлены в NaN, такжеработа.
Заранее спасибо