Итерация по n-й строке фрейма данных - PullRequest
2 голосов
/ 18 апреля 2020

У меня есть CSV-файл, который представляет собой один столбец данных. Мне нужно разделить это на три отдельных столбца, повторяя каждый третий член. Например,

Мой единственный столбец в настоящее время имеет формат:

A
B
C
A
B
C
A
B
C

Мне нужны три столбца, содержащие A, B и C. Мой план состоял в том, чтобы перебрать один столбец три раза и привести его к 3 спискам. Как я могу go повторить каждое третье слагаемое для этого? Например, как мне включить [::3] в нижеприведенную форму l oop?

import pandas as pd

df = pd.read_csv('Names+grades.txt')
initial = []
name = []
job=[]

for index, row in df.iterrows():
    initial.append(row['Raw data'])

Спасибо за любую помощь, которую вы можете оказать.

Ответы [ 2 ]

2 голосов
/ 18 апреля 2020
df = pd.read_csv('Names+grades.txt')
pd.DataFrame({'A': df[::3], 'B': df[1::3], 'C': df[2::3]}) 
0 голосов
/ 18 апреля 2020

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

df_new = pd.concat([df.iloc[::3].reset_index(drop=True)
           ,df.iloc[1::3].reset_index(drop=True)
           ,df.iloc[2::3].reset_index(drop=True)],axis=1)


df_new.columns = ['A','B','C']

print(df_new)

   A  B  C
0  A  B  C
1  A  B  C
2  A  B  C
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...