Pandas DataFrame DataFrame.sample() 함수
Minahil Noor
2023년1월30일
-
pandas.DataFrame.sample()
구문 -
예제 코드:
DataFrame.sample()
-
예제 코드: 열 추출을위한
DataFrame.sample()
-
예제 코드: 데이터 일부를 생성하는
DataFrame.sample()
-
예제 코드: 데이터 프레임을 오버 샘플링하는
DataFrame.sample()
-
예제 코드:
weights
가있는DataFrame.sample()
Python Pandas DataFrame.sample()
함수는 임의의 행 또는 DataFrame
의 열. 샘플에는 둘 이상의 행 또는 열이 포함될 수 있습니다.
pandas.DataFrame.sample()
구문
DataFrame.sample(
n=None, frac=None, replace=False, weights=None, random_state=None, axis=None
)
매개 변수
n |
정수입니다. DataFrame 에서 선택할 행 또는 열의 임의의 수를 나타냅니다. |
frac |
float 값입니다. DataFrame 에서 추출 할 임의의 행 또는 열의 비율을 지정합니다. 예를 들어 frac = 0.45 는 선택한 임의의 행 또는 열이 원본 데이터의 45 %가됨을 의미합니다. |
replace |
부울 값입니다. True 로 설정하면 데이터를 대체하여 샘플을 반환합니다. |
weights |
그것은 문자열 또는 N 차원 배열 형구조입니다. DataFrame 에서 호출되면 축이 0 일 때 열 이름을받습니다. 가중치 열에서 값이 더 큰 행이 샘플 데이터로 반환 될 가능성이 더 높습니다. |
random_state |
정수 또는numpy.random.RandomState 함수입니다. 정수이면 모든 반복에서 동일한 수의 행 또는 열을 반환합니다. 그렇지 않으면numpy.random.RandomState 객체를 반환합니다. |
axis |
정수 또는 문자열입니다. 대상 축에 대해 행 또는 열을 알려줍니다. 0 또는 'index' 와 1 또는'columns' |
반환
Series
또는DataFrame
을 반환합니다. 반환 된Series
또는DataFrame
은 원래DataFrame
에서 임의로 선택된 n 개의 항목을 포함하는 호출자입니다.
예제 코드: DataFrame.sample()
기본적으로이 함수는 행이 포함 된 샘플 (예: axis=1
)을 반환합니다.
import pandas as pd
dataframe=pd.DataFrame({'Attendance': {0: 60, 1: 100, 2: 80,3: 75, 4: 95},
'Name': {0: 'Olivia', 1: 'John', 2: 'Laura',3: 'Ben',4: 'Kevin'},
'Obtained Marks': {0: 56, 1: 75, 2: 82, 3: 64, 4: 67}})
print(dataframe)
DataFrame
은 다음과 같습니다.
Attendance Name Obtained Marks
0 60 Olivia 56
1 100 John 75
2 80 Laura 82
3 75 Ben 64
4 95 Kevin 67
이 함수의 모든 매개 변수는 선택 사항입니다. 매개 변수를 전달하지 않고이 함수를 실행하면 임의의 단일 행을 출력으로 반환합니다.
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": {0: 60, 1: 100, 2: 80, 3: 75, 4: 95},
"Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
"Obtained Marks": {0: 56, 1: 75, 2: 82, 3: 64, 4: 67},
}
)
dataframe1 = dataframe.sample()
print(dataframe1)
출력 1 :
Attendance Name Obtained Marks
3 75 Ben 64
출력 2 :
Attendance Name Obtained Marks
4 95 Kevin 67
출력 1 및 출력 2는 동일한 프로그램의 실행을 두 번 보여줍니다. 이 함수는 주어진DataFrame
에서 임의의 행 샘플을 생성 할 때마다.
예제 코드: 열 추출을위한DataFrame.sample()
샘플에서 열을 생성하기 위해 축을 1로 변경합니다.
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": {0: 60, 1: 100, 2: 80, 3: 75, 4: 95},
"Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
"Obtained Marks": {0: 56, 1: 75, 2: 82, 3: 64, 4: 67},
}
)
dataframe1 = dataframe.sample(n=1, axis=1)
print(dataframe1)
출력:
Name
0 Olivia
1 John
2 Laura
3 Ben
4 Kevin
이 함수는 단일 열의 샘플을 출력으로 생성했습니다. 열 수는 n = 1
매개 변수로 설정되었습니다.
예제 코드: 데이터 일부를 생성하는DataFrame.sample()
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": {0: 60, 1: 100, 2: 80, 3: 75, 4: 95},
"Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
"Obtained Marks": {0: 56, 1: 75, 2: 82, 3: 64, 4: 67},
}
)
dataframe1 = dataframe.sample(frac=0.5)
print(dataframe1)
출력:
Attendance Name Obtained Marks
3 75 Ben 64
4 95 Kevin 67
1 100 John 75
반환 된 샘플은 원본 데이터의 50 %입니다.
예제 코드: 데이터 프레임을 오버 샘플링하는DataFrame.sample()
frac> 1
이면 동일한 행을 두 번 이상 샘플링 할 수 있도록replace
매개 변수가True
여야합니다. 그렇지 않으면ValueError
가 발생합니다.
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": {0: 60, 1: 100, 2: 80, 3: 75, 4: 95},
"Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
"Obtained Marks": {0: 56, 1: 75, 2: 82, 3: 64, 4: 67},
}
)
dataframe1 = dataframe.sample(frac=1.5, replace=True)
print(dataframe1)
출력:
Attendance Name Obtained Marks
3 75 Ben 64
0 60 Olivia 56
1 100 John 75
2 80 Laura 82
1 100 John 75
2 80 Laura 82
0 60 Olivia 56
4 95 Kevin 67
replace
가False
로 설정되고frac
가 1보다 크면ValueError
가 발생합니다.
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": {0: 60, 1: 100, 2: 80, 3: 75, 4: 95},
"Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
"Obtained Marks": {0: 56, 1: 75, 2: 82, 3: 64, 4: 67},
}
)
dataframe1 = dataframe.sample(frac=1.5, replace=False)
print(dataframe1)
출력:
Traceback (most recent call last):
File "..\test.py", line 6, in <module>
dataframe1 = dataframe.sample(frac=1.5, replace=False)
File "..\lib\site-packages\pandas\core\generic.py", line 5044, in sample
raise ValueError(
ValueError: Replace has to be set to `True` when upsampling the population `frac` > 1.
예제 코드: weights
가있는DataFrame.sample()
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": {0: 60, 1: 100, 2: 80, 3: 75, 4: 95},
"Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
"Obtained Marks": {0: 56, 1: 75, 2: 82, 3: 64, 4: 67},
}
)
dataframe1 = dataframe.sample(n=2, weights="Attendance")
print(dataframe1)
출력:
Attendance Name Obtained Marks
1 100 John 75
4 95 Kevin 67
여기서 Attendance
열의 값이 더 큰 행이 반환 된 샘플에서 선택됩니다.