Возьмите образец массива без numpy или pandas в python

Я пытаюсь создать «питоновский» способ взять небольшое подмножество очень большого массива в python.

В настоящее время я беру csv с 58 столбцами и 4960 строками со следующими кодами:

def import_normal_csv(file):
    # Create blank array
    results = []
    # Open file
    with open(file) as csvfile:
        # read in file changing values to floats
        reader = csv.reader(csvfile, quoting=csv.QUOTE_NONNUMERIC)
        for row in reader:
            results.append(row)
    return results

def main():
    print(" Working SPAM Dataset... ")
    # Create a raw data array without numpy
    spam_raw_data = import_normal_csv('spam.csv')

    # CREATE SUBSET OF SPAM_RAW_DATA HERE

    random.shuffle(spam_raw_data)

Я видел разные способы сделать это с помощью numpy или pandas, но я хотел бы сделать это естественно без этих библиотек. Вместо моего огромного массива, как я мог вместо этого взять только... 500 строк (или какое-то произвольное число, значительно меньше почти 5000)?

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
0
375
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Вы можете использовать встроенную библиотеку random, например:

import random

random.sample(data, 500)

Это даст вам list 500 lists, каждая из которых представляет одну строку.

Ответ принят как подходящий

Используйте random.sample:

subset_size = 500
random.sample(spam_raw_data, subset_size)

Также обратите внимание, что вашу функцию import_normal_csv можно упростить:

def import_normal_csv(file):
    with open(file) as csvfile:
        reader = csv.reader(csvfile, quoting=csv.QUOTE_NONNUMERIC)
        return list(reader)

Другие вопросы по теме