Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
545 views
in Technique[技术] by (71.8m points)

python 3.x - How to solve the error "Cannot take a larger sample than population when 'replace=False'"

I am facing an error "Cannot take a larger sample than population when 'replace=False'" on the line of

df = dataset[dataset['target'] == target].sample(SAMPLE_SIZE, random_state=101)

Explanation: My image dataset contains 9 folders (classes). Each of the classes contains several numbers of images. The highest number of images in a folder is 650 and the lowest is 254. When I mention SAMPLE_SIZE = 254 (lowest amount of images folder) the code is running well. Nevertheless, while I use SAMPLE_SIZE = 650 at that meantime an error has appeared.

My code:

SAMPLE_SIZE = 650
IMAGE_SIZE = 224

#To obtain the list of classes

target_list = os.listdir('Images')

for target in target_list:
    # Filter out a target and take a random sample
    df = dataset[dataset['target'] == target].sample(SAMPLE_SIZE, random_state=101)
    
    # if it's the first item in the list
    if target == target_list[0]:
       dataset_sample = df
    else:
        # Concat the dataframes
        dataset_sample = pd.concat([dataset_sample, df], axis=0).reset_index(drop=True)

error: Cannot take a larger sample than population when 'replace=False'

question from:https://stackoverflow.com/questions/65944216/how-to-solve-the-error-cannot-take-a-larger-sample-than-population-when-replac

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)
Waitting for answers

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...