манипулировать большим файлом python - PullRequest
0 голосов
/ 11 марта 2020

У меня есть простой файл объемом 2 ГБ, строка 17 миллионов. Это данные инвентаризации, которые выглядят как прикрепленные. Я пытаюсь взять один столбец суммы - я не уверен, почему, но на данный момент это строка, и я хочу чтобы умножить его в столбце количества, я хочу создать еще один столбец, который будет принимать среднее значение для каждого элемента и для каждого месяца, а затем создавать графики по python или по таблице enter image description here Я использую python и pandas моя проблема - я не могу преобразовать сумму в int или float. Я попытался создать функцию, которая l oop данных и получает каждое значение в поле количества и преобразовывает его в число с плавающей точкой, потому что размер Этот файл занимает много времени, и я не уверен, что он получится. Я ищу самый простой способ сделать это

Ответы [ 2 ]

1 голос
/ 11 марта 2020

В таких случаях не стоит тратить память на сохранение этих огромных данных. Ниже приведен пример загрузки данных по воздуху по урожайности

def getAmount():
    with open('filename','w+') as fp:
       for data in fp:
           yield int(data['amount']) or float(data['amount'])


for amt in getAmount():
     print(amt)
1 голос
/ 11 марта 2020

df['amount'].to_numeric(errors="coerce")

должно принимать все значения int или float, все, что не может быть преобразовано, станет nan

...