Pandas DataFrame의 열 반복

Manav Narula 2023년1월30일
  1. getitem ([]) 구문을 사용하여 Pandas DataFrame의 열을 반복합니다
  2. dataframe.iteritems()를 사용하여 Pandas Dataframe의 열을 반복합니다
  3. enumerate()를 사용하여 Pandas 열을 반복합니다
Pandas DataFrame의 열 반복

DataFrame은 매우 클 수 있으며 수백 개의 행과 열을 포함 할 수 있습니다. DataFrame의 열을 반복하고 회귀 등과 같이 열에 대해 개별적으로 작업을 수행해야합니다.

for루프를 사용하여 DataFrame의 열을 반복 할 수 있습니다. for루프의 기본 구문은 다음과 같습니다.

for value in sequence:
    # Body of Loop

예를 들어 getitem 구문 ([]),dataframe.iteritems()함수,enumerate()함수 및 index 사용과 같은 여러 메서드를 사용하여 DataFrame에서for 루프를 실행할 수 있습니다. DataFrame의.

getitem ([]) 구문을 사용하여 Pandas DataFrame의 열을 반복합니다

열 레이블을 사용하여getitem 구문 ([])을 사용하여 DataFrame에서for 루프를 실행할 수 있습니다. 예를 들면 :

import pandas as pd

df = pd.DataFrame(
    [[10, 6, 7, 8], [1, 9, 12, 14], [5, 8, 10, 6]], columns=["a", "b", "c", "d"]
)

print(df)
print("------------------")
for column in df:
    print(df[column].values)

출력:

    a  b   c   d
0  10  6   7   8
1   1  9  12  14
2   5  8  10   6
------------------
[10  1  5]
[6 9 8]
[ 7 12 10]
[ 8 14  6]

values()함수는 객체의 요소를 목록으로 추출하는 데 사용됩니다.

dataframe.iteritems()를 사용하여 Pandas Dataframe의 열을 반복합니다

Pandas는 DataFrame을 반복하는 데 도움이되는dataframe.iteritems()함수를 제공하고 열 이름과 해당 콘텐츠를 시리즈로 반환합니다.

import pandas as pd

df = pd.DataFrame(
    [[10, 6, 7, 8], [1, 9, 12, 14], [5, 8, 10, 6]], columns=["a", "b", "c", "d"]
)

for (colname, colval) in df.iteritems():
    print(colname, colval.values)

출력:

A[10  1  5]
b [6 9 8]
c [ 7 12 10]
d [ 8 14  6]

enumerate()를 사용하여 Pandas 열을 반복합니다

DataFrame이있는enumerate()는 인덱스와 열 레이블을 반환하므로이를 반복 할 수 있습니다.

import pandas as pd

df = pd.DataFrame(
    [[10, 6, 7, 8], [1, 9, 12, 14], [5, 8, 10, 6]], columns=["a", "b", "c", "d"]
)

for (index, colname) in enumerate(df):
    print(index, df[colname].values)

출력:

0 [10  1  5]
1 [6 9 8]
2 [ 7 12 10]
3 [ 8 14  6]

위의 방법 중 하나를 매우 효율적으로 사용하여 DataFrame을 반복 할 수 있습니다. 열에 대한 회귀와 같은 작업을 개별적으로 실행할 수도 있습니다. 예를 들어, 아래 예와 같이 마지막 열을 독립 변수로 설정하고 다른 열을 종속 변수로 사용하여 OLS 회귀를 실행할 수 있습니다.

import pandas as pd
import statsmodels.api as sm
import numpy as np

df = pd.DataFrame(
    [[10, 6, 7, 8], [1, 9, 12, 14], [5, 8, 10, 6]], columns=["a", "b", "c", "d"]
)

for column in df:
    Y = df["d"]
    X = df[column]
    X = sm.add_constant(X)
    model = sm.OLS(X, Y)
    results = model.fit()
    print(results.params)

출력:

          0         1
d  0.094595  0.418919
          0     1
d  0.094595  0.75
          0         1
d  0.094595  0.959459
          0    1
d  0.094595  1.0
작가: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

관련 문장 - Pandas DataFrame