Как добавить данные в фрейм данных без перезаписи? - PullRequest
0 голосов
/ 27 января 2019

Я новичок в python, но он мне нужен для личного проекта.И поэтому у меня есть этот кусок кода.Функция заключается в создании таблицы и обновлении ее по мере необходимости.Проблема в том, что таблица перезаписывается, и я не знаю почему.Также я борюсь с правильным назначением начальной позиции новых строк для добавления, и именно поэтому total (также перезаписывается) и pos, но я не понял, как правильно их использовать,Любые советы?

import datetime
import pandas as pd
import numpy as np

total ={}

entryTable = pd.read_csv("Entry_Table.csv")

newEntries = int(input("How many new entries?\n"))

for i in range(newEntries):
   ID = input ("ID?\n")
   VQ = int (input ("VQ?\n"))
   timeStamp = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
   entryTable.loc[i] = [timeStamp, ID, VQ]
   entryTable.to_csv("Inventory_Table.csv")
   total[i] = 1

pos = sum(total.values())
print(pos)
inventoryTable = pd.read_csv("Inventory_Table.csv", index_col = 0)

1 Ответ

0 голосов
/ 27 января 2019

Ваша переменная 'i' работает от индекса 0 до числа 'newEntries'. Когда вы добавляете новые данные в строку «i» в вашем фрейме данных Pandas, вы перезаписываете существующие данные в этой строке. Если вы хотите добавить новые данные, попробуйте 'n + i', где n - начальное количество записей. Вы можете определить n с помощью

n = len(entryTable)

или

n = entryTable.shape[0]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...