Я работаю над проектом, связанным с наукой о данных, и дошел до того, что мне нужно выполнить какое-то фрагментное копирование строк данных.
Предположим следующее:
store_df = pd.read_csv(...)
У меня есть функция process(df : pd.DataFrame)
, которая принимает изменяет dataFrame df
, удаляя и добавляя определенные столбцы.
Поскольку store_df
имеет большой размер и занимает много времени при обработке в process()
, я пытаюсь создатьпакеты, с которыми нужно работать, сохраняются после каждой обработки в process
.
train_df = pd.DataFrame()
for bn in range(0, store_df.shape[0], batch_num):
train_holder_df = store_df.iloc[bn:(bn + batch_num - 1), :].copy()
process(train_holder_df)
train_df.concat(train_holder_df)
Учитывая поведение process()
, следующий пакет не может быть обработан, поскольку изменения в store_df
выполняются в первомпартия.Это заставляет меня поверить, что в этой части train_df = store_df.iloc[bn:(batch_num - 1), :].copy()
я получаю представление вместо копии.Я что-то упускаю?
PS: я пишу этот вопрос через мобильный телефон, так что ... Извините, если что-то странное