Ho un set di dati con 19 colonne e circa 250k righe. Ho lavorato con set di dati più grandi, ma questa volta Pandas ha deciso di giocare con i miei nervi.
Ho provato a dividere il set di dati originale in 3 sub-frame di dati basati su alcune semplici regole. Tuttavia, l'esecuzione del codice richiede molto tempo. Circa 15-20 secondi solo per il filtraggio.
Qualche modo alternativo che migliorerà le prestazioni del codice?
import pandas as pd
#read dataset
df = pd.read_csv('myData.csv')
#create a dataframe with col1 10 and col2 <= 15
df1 = df[(df.col1 == 10) & (df.col2 <= 15)]
df = df[~df.isin(df1)].dropna()
#create a dataframe with col3 7 and col4 >= 4
df2 = df[(df.col3 == 7) & (df.col4 >= 4)]
df = df[~df.isin(df2)].dropna()
Alla fine, ho i df1, df2, df
frame di dati con i dati filtrati.