Как я могу написать это как цикл в Python? - PullRequest
0 голосов
/ 21 мая 2019

У меня есть DataFrame (5910x65) со столбцами от X1 до X64 и, по крайней мере, Y. Теперь я хочу, чтобы вычислить выброс с .25quantil и .75quantil, но я не хочу писать код для каждого столбца (от X1 до X64).

Aspacialy Я не знаю, как писать описывают = df.X1.describe () что цикл заменит «X1» в следующем ходу на «X2» и т. д. Я пробовал 'X' + str (i + 1) для i в диапазоне (len (df.columns) -1), но я не могу перейти с результатом в df.?.describe()

describe=df.X1.describe()
col=df.X1
faktor=10
qabs=abs(describe[6]-describe[4])
q1=describe[4]-qabs*faktor
q3=describe[6]+qabs*faktor
under=col[(col)<q1]
above=col[(col)>q3]
print(col[(col)<q1])
print(col[(col)>q3])

1 Ответ

0 голосов
/ 22 мая 2019

Измените доступ к столбцу с . на поиск в стиле ключа, например df['col']:

for i in range(1, 65): # will end at 64
    describe=df[f'X{i}'].describe()
    col=df[f'X{i}']
    faktor=10
    qabs=abs(describe[6]-describe[4])
    q1=describe[4]-qabs*faktor
    q3=describe[6]+qabs*faktor
    under=col[(col)<q1]
    above=col[(col)>q3]
    print(col[(col)<q1])
    print(col[(col)>q3])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...