본문 바로가기
파이썬

파이썬 Python Pandas는 행을 반복하고 열 이름에 액세스합니다.

by º기록 2020. 10. 21.
반응형

Python Pandas 데이터 프레임의 행을 반복하려고합니다. 데이터 프레임의 각 행 내에서 열 이름으로 행을 따라 각 값을 참조하려고합니다.

내가 가진 것은 다음과 같습니다.

import numpy as np
import pandas as pd

df = pd.DataFrame(np.random.rand(10,4),columns=list('ABCD'))
print df
          A         B         C         D
0  0.351741  0.186022  0.238705  0.081457
1  0.950817  0.665594  0.671151  0.730102
2  0.727996  0.442725  0.658816  0.003515
3  0.155604  0.567044  0.943466  0.666576
4  0.056922  0.751562  0.135624  0.597252
5  0.577770  0.995546  0.984923  0.123392
6  0.121061  0.490894  0.134702  0.358296
7  0.895856  0.617628  0.722529  0.794110
8  0.611006  0.328815  0.395859  0.507364
9  0.616169  0.527488  0.186614  0.278792


내가하려는 것은 다음과 같습니다.

for row in df.iterrows():
    print row.loc[0,'A']
    print row.A
    print row.index()


행을 반복하면서 동시에 열 이름을 사용할 수 있습니까?

 

해결 방법

 

itertuples () 도 좋아합니다.

for row in df.itertuples():
    print(row.A)
    print(row.Index)

행은 명명 된 튜플이므로 각 행의 값에 액세스하려는 경우 훨씬 더 빠릅니다.

속도 실행 :

df = pd.DataFrame([x for x in range(1000*1000)], columns=['A'])
st=time.time()
for index, row in df.iterrows():
    row.A
print(time.time()-st)
45.05799984931946

st=time.time()
for row in df.itertuples():
    row.A
print(time.time() - st)
0.48400020599365234

 

참조 페이지 https://stackoverflow.com/questions/43619896

 

 

반응형

댓글