#python #pandas #csv #for-loop #if-statement
#python #pandas #csv #for-цикл #if-оператор
Вопрос:
Я пытаюсь сгенерировать случайную подвыборку из 5000 строк из файла .csv, содержащего десятки тысяч строк. Df содержит два столбца: «JPG» и «NAME».
Я сгенерировал случайную подвыборку со следующим кодом:
import pandas as pd
file = pd.read_csv(r'C:filepathdata.csv', usecols = [7, 8])
sample = file.sample(n=5000)
print(sample)
Однако теперь я хочу сделать то же самое, но с включением цикла for, который может делать это, пропуская любые строки со строкой ‘t3’ в столбце ‘NAME’.
Вот где я нахожусь, но пытаюсь заставить его работать:
import pandas as pd
file = pd.read_csv(r'C:filepathdata.csv', usecols = [7, 8])
sample = file.sample(n=5000)
for num in sample:
if sample.loc[sample['NAME'] == 't3']:
continue
print(sample)
Любая помощь по этому вопросу была бы весьма признательна.
Спасибо, R
Ответ №1:
почему бы вам не отфильтровать все строки с NAME
помощью t3 заранее? Нравится:
import pandas as pd
file = pd.read_csv(r'C:filepathdata.csv', usecols = [7, 8])
file_without_t3 = file[file['NAME'] != 't3']
sample = file_without_t3.sample(n=5000)
print(sample)
Комментарии:
1. Очень хороший момент! Я переполнил это и запутался в процессе. Спасибо за помощь, Чжао! 🙂