Перебор столбцов с индексом - PullRequest
1 голос
/ 07 октября 2019

Как я могу перебирать столбцы с индексом в пандах, для строк мы можем использовать for i, j in df.iterrows():, который даст индекс и строку.

Есть ли что-нибудь похожее для столбцов?

spice smice skice bike dike mike 
    1     23     35    34   34   56 
    135   34     23    21   56   34
    231   12     67    21   62   75

Я пытаюсь использовать вложенный цикл, как показано ниже:

for index, col1 in  df.columns:
  for col2 in df.columns[index:]:

Есть ли лучший способ сделать это?

Ответы [ 2 ]

2 голосов
/ 07 октября 2019

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

for col_name in df.columns:
    print (col_name)
    print (df[col_name])

Альтернативное решение, недостатки читаются хуже:

for col_name in df:
    print (col_name)
    print (df[col_name])

Ваше решениевозможно с транспонированием на DataFrame.T, но, на мой взгляд, немного сложнее:

for col_name, s in df.T.iterrows():
    print (col_name)
    print (s)

РЕДАКТИРОВАТЬ:

for col_name in df.columns:
    print (col_name)
    print (df[col_name])
    print (df.columns.get_loc(col_name))
0 голосов
/ 07 октября 2019

Я нашел следующее решение, но не уверен, что это правильный способ, я новичок в пандах.

import pandas as pd 

# initialize list of lists 
data = [['tom', 10], ['nick', 15], ['juli', 14]] 

# Create the pandas DataFrame 
df = pd.DataFrame(data, columns = ['Name', 'Age']) 
for ind, column in enumerate(df.columns):
  print(ind, column)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...