l oop для преобразования кадра данных в фрагмент массива np - PullRequest
0 голосов
/ 19 июня 2020

возможно ли преобразовать фрейм данных в массив numpy фрагмент за фрагментом с al oop. Примерно так в псевдокоде:

counter = 0
for index, row in dataframe.iterrows():
    if (row['column']) == 1 :
        counter += 1
        if counter == 10:
 take the part of the dataframe where counter is <= 10 
 and convert it to numpy and restart the process at the next row

1 Ответ

1 голос
/ 19 июня 2020

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

в основном вы можете l oop через df фрагментами и выполнять операции, которые вы хотите, с каждым фрагментом за раз вместо всего df

import numpy as np
import pandas as pd
data = np.random.rand(1000,3)

df = pd.DataFrame(data)

# LOOPING BY CHUNKS, STORING EACH CHUNK IN A NP ARRAY INSIDE A LIST
ix = 0
chunk = 10
arrays = []
for iy in range(chunk, len(df)+chunk, chunk):
    arrays.append(df.iloc[ix:iy].values)
    ix = iy

# ENTIRE DF TO NP ARRAY
array = df.values

# LOOPING BY CHUNKS, APPENDING EACH CHUNK TO A SINGLE NP ARRAY
ix = 0
chunk = 10
array = np.empty((0,3))
for iy in range(chunk, len(df)+chunk, chunk):
    array = np.concatenate((array, df.iloc[ix:iy].values))
    ix = iy
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...