본문 바로가기
python

pandas 행 셔플

by 타닥타닥 토다토닥 부부 2024. 5. 10.
반응형

pandas 행 셔플

Pandas에서 데이터프레임의 행을 무작위로 섞으려면 여러 방법을 사용할 수 있습니다. 주로 sample() 메소드 또는 numpy의 random.permutation()을 사용하여 이 작업을 수행할 수 있습니다. 다음은 각 방법에 대한 설명과 예제입니다.

 

1. sample() 메소드 사용하기

sample() 메소드를 사용하면 데이터프레임의 행을 무작위로 선택하고, frac=1을 설정함으로써 전체 데이터프레임을 무작위 순서로 섞을 수 있습니다. 이 방법은 가장 간단하고 직관적입니다.

 

import pandas as pd

# 데이터프레임 생성
df = pd.DataFrame({
    'A': range(1, 6),
    'B': range(10, 15)
})

# 전체 데이터프레임을 무작위로 섞기
shuffled_df = df.sample(frac=1).reset_index(drop=True)

 

reset_index(drop=True)를 사용하는 이유는 새로운 인덱스를 할당하고, 기존 인덱스를 삭제하기 위해서입니다.

 

2. numpy의 random.permutation() 사용하기

numpy의 random.permutation() 함수를 사용하여 인덱스를 무작위로 섞은 다음, 이를 데이터프레임에 적용할 수 있습니다. 이 방법은 sample()과 유사한 결과를 제공하지만, 인덱스를 명시적으로 조작하는 점에서 다릅니다.

import numpy as np

# 인덱스를 무작위로 섞음
shuffled_indices = np.random.permutation(df.index)

# 무작위로 섞인 인덱스로 데이터프레임 재구성
shuffled_df = df.loc[shuffled_indices].reset_index(drop=True)

 

 

기타 pandas 기능

 

pandas 혹은 numpy의 nan 값을 파이썬 None으로 전환하기(db에 넣을때 유용)

pandas 혹은 numpy의 nan 값을 파이썬 None으로 전환하기(db에 넣을때 유용)¶ In [1]: # 데이터 프레임의 값을 db로 넣으려 할때 때때로.... nan 값 때문에 에러가 발생합니다. # nan 값을 파이썬 None값으로 전

noanomal.tistory.com

 

판다스(pandas) 행 사이 빈 행 집어 넣기, nan 값 끼워 넣기

판다스(pandas) 행 사이 빈 행 집어 넣기, 중간중간에 빈행 집어 넣기¶ 예시 데이터 만드는 코드 입니다. In [2]: import pandas as pd df = pd.DataFrame({ "y1" : [2, 0, 3, 4, 4, 3, 10, 2, 3, 4], "y2" : [2, 2, 10, 4, 4, 3, 2, 2,

noanomal.tistory.com

 

반응형

댓글