Пожалуйста, упростите мой код или сделайте его более продвинутым программистом Python - PullRequest
0 голосов
/ 28 августа 2018
import pandas as pd
df = pd.DataFrame({'col1': [1, 2, 3], 'col2': [2, 3, 4]})

for i=0 to range(len(df))
    print(df.iloc[i]['col1'] + '-' + df.iloc[i]['col2'])

Я хочу использовать: (но это дает мне ошибку)

for d in df:
    print(d['col1'] + '-' + d['col2'])
# I want output
# 2-3
# 3-4

Простой вопрос только панд ...

Ответы [ 3 ]

0 голосов
/ 28 августа 2018

IIUC:

Вы хотите напечатать каждую строку столбцов 'col1'

print(*df.col1, sep='\n')
0 голосов
/ 29 августа 2018
for index, row in df.iterrows():
     print(row['col1'], row['col2'])

Благодаря @Jezrael ссылка Я могу изменить свой код на более перспективный код вместо моего, немного старой школы LOL

Пожалуйста, нажмите "Проверить". Проверьте правильность ответа.

Метод Zip также корректен, но он ограничит гибкость кода. Как, например, я мог бы снова мои данные в string.format в другом порядке. Так что это способ сделать это. Хотя я закончил свой проект со своим старым кодом. Но я все равно изменил его на новый и правильный путь.

0 голосов
/ 28 августа 2018

Если хотите цикл по всем столбцам:

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

Что такое же как:

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

Или, если необходимо, цикл по значениям столбца col1:

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