Как добавить l oop in python - PullRequest
0 голосов
/ 27 мая 2020

Искал часами. У меня есть 190 столбцов сводной таблицы до l oop в моем скрипте. У меня есть этот скрипт:

corr = pg.pairwise_corr(df_pvt, columns=[[df_pvt.columns[0]], list(df_pvt.columns)], method='pearson')[['X','Y','r']]

это обеспечивает вывод:

                                          X  ...      r
0    CORSEC_Mainstream Media_Negative Count  ...  1.000
1    CORSEC_Mainstream Media_Negative Count  ...  0.960
2    CORSEC_Mainstream Media_Negative Count  ... -0.203
3    CORSEC_Mainstream Media_Negative Count  ... -0.446
4    CORSEC_Mainstream Media_Negative Count  ...  0.488
..                                      ...  ...    ...
179  CORSEC_Mainstream Media_Negative Count  ... -0.483
180  CORSEC_Mainstream Media_Negative Count  ... -0.487
181  CORSEC_Mainstream Media_Negative Count  ...  0.145
182  CORSEC_Mainstream Media_Negative Count  ...  0.128
183  CORSEC_Mainstream Media_Negative Count  ...  0.520

[184 rows x 3 columns]

Я хочу добавить 189 других столбцов в мой скрипт, но этот скрипт продолжает предоставлять две добавленные переменные и заменять их до 189-й переменной

for var in list(range(1,189)):
    corr_all = corr.append(pg.pairwise_corr(df_pvt, columns=[[df_pvt.columns[var]], list(df_pvt.columns)], method='pearson')[['X','Y','r']])
    print(corr_all)

Любой совет?

Изменить:

Это работает следующим образом:

corr = pg.pairwise_corr(df_pvt, columns=[[df_pvt.columns[0]], list(df_pvt.columns)], method='pearson')[['X','Y','r']]
corr_1 = corr.append(pg.pairwise_corr(df_pvt, columns=[[df_pvt.columns[1]], list(df_pvt.columns)], method='pearson')[['X','Y','r']])
corr_2 = corr_1.append(pg.pairwise_corr(df_pvt, columns=[[df_pvt.columns[2]], list(df_pvt.columns)], method='pearson')[['X','Y','r']])

а как я oop его до corr_189?

Ответы [ 2 ]

1 голос
/ 27 мая 2020

Вы можете попробовать создать 189 списков значений (коэффициентов Пирсона) для каждого из ваших 189 столбцов и , затем объединить столбцы с «df_final», который будет фреймом данных, содержащим все 190 столбцов:

corr = pd.DataFrame(corr)
df_final = pd.DataFrame()

for k in range(189):
    list_Pearson_k = 'formula to compute a list of pearson values'                    
    df_list_k = pd.DataFrame(list_Pearson_k)
    df_final = pd.concat([corr,df_list_k ], axis = 1) 
0 голосов
/ 27 мая 2020

Python list append метод возвращает None.

Измените свой код на этот: -

corr_all = []
for var in range(1,189):
    corr_all.append(pg.pairwise_corr(df_pvt, columns=[[df_pvt.columns[var]], list(df_pvt.columns)], method='pearson')[['X','Y','r']])
    print(corr_all)

Это должно помочь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...