Как сделать эффективный вложенный цикл с кадром данных pandas - PullRequest
3 голосов
/ 13 октября 2019

приведенный ниже код Python работает с фреймом данных pandas, но мне было интересно, как сделать его более эффективным.

columns = list(data)
lenn=len(columns)
lenn

i=0
while i<lenn:
    j=i+1
    while j <lenn:
        print(data.iloc[:,i]*data.iloc[:,j])
        #print(data.iloc[:,j])
        j=j+1
    i=i+1

1 Ответ

1 голос
/ 13 октября 2019

Мы можем сделать shift

data.shift(axis=1)*data

Обновление 1

s=data.shift(axis=1)*data
for x in list(s):
    print(s.loc[:,s])

Обновление 2

for x in list(data):
    print(data.loc[:,x],data.shift(axis=1).loc[:,x])

Обновление 3

import itertools
t=list(itertools.combinations(range(df.shape[1]), 2))
for x in t:
    print(data.iloc[:,x[0]],data.iloc[:,x[1]])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...