Python과 Pandas를 사용하여 임의의 정수 데이터 프레임을 만드는 방법
방법 1: np.random.randint
함수 사용
numpy
라이브러리를np
라는 별칭으로 임포트합니다.- 데이터 프레임의 행과 열 수를 정의합니다.
np.random.randint
함수를 사용하여 임의의 정수 값을 생성합니다.pd.DataFrame
생성자를 사용하여 임의의 정수 값으로 데이터 프레임을 생성합니다.
import numpy as np
import pandas as pd
# 행과 열 수 정의
rows = 5
columns = 3
# 임의의 정수 값 생성
data = np.random.randint(low=0, high=100, size=(rows, columns))
# 데이터 프레임 생성
df = pd.DataFrame(data)
# 데이터 프레임 출력
print(df)
방법 2: pandas.DataFrame.sample
메서드 사용
- 임의의 정수 값을 포함하는 리스트를 생성합니다.
DataFrame.sample
메서드를 사용하여 데이터 프레임에서 임의의 행을 선택합니다.
import pandas as pd
# 임의의 정수 값 포함 리스트 생성
data = list(range(100))
# 데이터 프레임 생성
df = pd.DataFrame(data)
# 임의의 행 선택
df = df.sample(frac=0.5)
# 데이터 프레임 출력
print(df)
참고:
frac
매개변수는 선택할 행 또는 열의 비율을 지정합니다.
예제 코드
# 방법 1: np.random.randint 함수 사용
import numpy as np
import pandas as pd
# 행과 열 수 정의
rows = 5
columns = 3
# 임의의 정수 값 생성
data = np.random.randint(low=0, high=100, size=(rows, columns))
# 데이터 프레임 생성
df = pd.DataFrame(data)
# 데이터 프레임 출력
print(df)
# 방법 2: pandas.DataFrame.sample 메서드 사용
import pandas as pd
# 임의의 정수 값 포함 리스트 생성
data = list(range(100))
# 데이터 프레임 생성
df = pd.DataFrame(data)
# 임의의 행 선택
df = df.sample(frac=0.5)
# 데이터 프레임 출력
print(df)
# 방법 1 출력 예시
0 1 2
0 63 16 74
1 54 43 12
2 78 27 89
3 23 67 38
4 95 81 19
# 방법 2 출력 예시
0
12 12
38 38
67 67
45 45
52 52
... ...
89 89
19 19
94 94
77 77
해설:
- 첫 번째 코드 블록은
np.random.randint
함수를 사용하여 0에서 99 사이의 임의의 정수를 생성하고 5행 3열의 데이터 프레임을 만듭니다. - 두 번째 코드 블록은
list(range(100))
을 사용하여 0에서 99까지의 숫자를 포함하는 리스트를 생성하고 데이터 프레임을 만듭니다. - 그 후
df.sample(frac=0.5)
를 사용하여 데이터 프레임의 행의 절반을 무작위로 선택합니다.
- 위 코드는 예시이며, 원하는 데이터 프레임 크기와 값 범위에 따라 코드를 수정해야 합니다.
대체 방법
random
모듈은 Python 표준 라이브러리에 포함되어 있으며 임의의 숫자를 생성하는 함수를 제공합니다. 다음은 random
모듈을 사용하여 임의의 정수 데이터 프레임을 만드는 방법입니다.
import random
import pandas as pd
# 행과 열 수 정의
rows = 5
columns = 3
# 임의의 정수 값 생성
data = [[random.randint(0, 100) for _ in range(columns)] for _ in range(rows)]
# 데이터 프레임 생성
df = pd.DataFrame(data)
# 데이터 프레임 출력
print(df)
itertools 모듈 사용
from itertools import product
import pandas as pd
# 행과 열 수 정의
rows = 5
columns = 3
# 임의의 정수 값 생성
data = list(product(range(100), repeat=columns))
# 데이터 프레임 생성
df = pd.DataFrame(data)
# 데이터 프레임 출력
print(df)
NumPy random 모듈 사용
NumPy 라이브러리는 다차원 배열을 처리하는 Python 라이브러리입니다. NumPy random
모듈은 임의의 숫자를 생성하는 함수를 제공합니다. 다음은 NumPy random
모듈을 사용하여 임의의 정수 데이터 프레임을 만드는 방법입니다.
import numpy as np
import pandas as pd
# 행과 열 수 정의
rows = 5
columns = 3
# 임의의 정수 값 생성
data = np.random.randint(low=0, high=100, size=(rows, columns))
# 데이터 프레임 생성
df = pd.DataFrame(data)
# 데이터 프레임 출력
print(df)
Pandas DataFrame.from_records 메서드 사용
Pandas DataFrame.from_records
메서드는 딕셔너리 리스트를 기반으로 데이터 프레임을 생성합니다. 다음은 DataFrame.from_records
메서드를 사용하여 임의의 정수 데이터 프레임을 만드는 방법입니다.
import pandas as pd
# 임의의 정수 값 포함 딕셔너리 리스트 생성
data = [{"a": random.randint(0, 100), "b": random.randint(0, 100), "c": random.randint(0, 100)} for _ in range(5)]
# 데이터 프레임 생성
df = pd.DataFrame.from_records(data)
# 데이터 프레임 출력
print(df)
Pandas DataFrame.from_csv
메서드는 CSV 파일을 기반으로 데이터 프레임을 생성합니다. 다음은 임의의 정수 데이터를 포함하는 CSV 파일을 생성하고 DataFrame.from_csv
메서드를 사용하여 데이터 프레임을 만드는 방법입니다.
import random
import pandas as pd
# 임의의 정수 값 포함 CSV 파일 생성
with open("data.csv", "w") as f:
for _ in range(5):
f.write(",".join([str(random.randint(0, 100)) for _ in range(3)]) + "\n")
# 데이터 프레임 생성
df = pd.read_csv("data.csv")
# 데이터 프레임 출력
print(df)
python python-3.x pandas