Значения маски в столбце основаны на значении под ним в том же столбце - Панды - Матрица корреляции - PullRequest
0 голосов
/ 04 октября 2018

У меня очень тупо спроектированные данные ... на самом деле их много, и я не могу это изменить.Моя цель - создать Матрицу корреляции, которая не вычисляется пандами.Это уже сделано другим программным обеспечением .... Если я читаю данные в панды, кадр данных выглядит следующим образом:

        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, такжеработа.

Заранее спасибо

...