итерация значений в каждом столбце - PullRequest
3 голосов
/ 29 сентября 2019

Как перебирать данные в DataFrame, я хотел бы перебрать все данные в первом столбце, прежде чем переходить к следующему.

с помощью приведенного ниже кода я перебираю строку данныхпо строкам для всех столбцов

enter image description here

Вместо этого я хотел бы перебрать все данные в первом столбце, прежде чем перейти к следующему.

enter image description here

import time
import pandas as pd


df = pd.read_csv('testDATA.csv')

for i, row in df.iterrows():
    #print(row)
    time.sleep(1)
    for j, column in row.iteritems():
        print(column)
        time.sleep(1)

print(df)

Ответы [ 3 ]

2 голосов
/ 29 сентября 2019

pandas.DataFrame сам по себе имеет DataFrame.iteritems() метод для перебора всех столбцов кадра данных:

In [8]: df = pd.DataFrame({'col1': [1, 2], 'col2': [3, 4]})                                                 

In [9]: for col_name, col_data in df.iteritems(): 
   ...:     print(col_name) 
   ...:     print(col_data.values)   # can be iterated separately 
   ...:                                                                                                     
col1
[1 2]
col2
[3 4]
2 голосов
/ 29 сентября 2019

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

for i, column in df.iteritems():
    for j, row in column.iteritems():
        print(row)
2 голосов
/ 29 сентября 2019

Использовать DataFrame.transpose а затем использовать свой код ...

import time
import pandas as pd
df = pd.read_csv('testDATA.csv')

df=df.T

for i, row in df.iterrows():
    #print(row)
    time.sleep(1)
    for j, column in row.iteritems():
        print(column)
        time.sleep(1)

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