Как выполнить итерацию для каждого имени столбца и добавить его в таблицу или фрейм данных в python - PullRequest
0 голосов
/ 26 мая 2020

Я хочу создать настраиваемую таблицу корреляции, после длинного скрипта мои окончательные данные выглядят так:

ID        a      ...  z                                           
1         76.0   ...  1.033004
2         257.0  ...  0.629641
3         99.0   ...  0.672139
4         52.0   ...  1.007708
5         129.0  ...  1.080922

И это скрипт, который я сделал для своей настройки таблицы корреляции для переменной vs all

pg.pairwise_corr(df_pvt, columns=[['a'], list(df_pvt.columns)], method='pearson')[['X','Y','r']].append
pg.pairwise_corr(df_pvt, columns=[['b'], list(df_pvt.columns)], method='pearson')[['X','Y','r']].append ......... #until variable z

Как я могу l oop или выбрать конкретный c номер столбца без ввода имени переменной от «a» до «z»?

Я новичок в python. Заранее спасибо

Ответы [ 2 ]

1 голос
/ 26 мая 2020
import pandas as pd

data = pd.DataFrame({"ID": [1,2,3,4,5], "a": [76.0, 257.0, 99.0,52.0,129.0], "z": [1.033004, 0.629641, 0.672139,1.007708, 1.080922]}, columns=["ID", "a", "z"])

true_columns = []

for index, row in data.iterrows():
    true_col_list = [col for col in data.columns[1] if row[col]]
    true_columns.append(",".join(true_col_list))

data["Columns"] = true_columns

print(data)
0 голосов
/ 26 мая 2020

Поскольку мне пока не разрешено комментировать, я думаю, что это то, что вы ищете. Поправьте меня, если я ошибаюсь. алфавит самостоятельно, но импортируйте его с помощью

import string
alphabet = string.ascii_lowercase # this equals 'abcdefghijklmnopqrstuvwxyz'

# then iterate over the alphabet
for letter in alphabet:
    # do your stuff here something something[letter] something :P

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