У меня есть 5 CSV файлов примерно по 20 ГБ каждый.
Я выполнил весь свой код, чтобы преобразовать и объединить их с пандами в выборках по 1 ходу каждый.
Теперь я использую свой код на реальных наборах данных в AWS EC2, и все еще с пандами.
Мои вопросы:
- Я думаю, что это бесполезно использоватьGPU для этой проблемы?Я ошибся?
- Должен ли я использовать библиотеку, отличную от Pandas (например, Dask?)
- Какой вид характеристик я должен выбрать для EC2?(Несколько процессоров или только один? ...)
- На данный момент мой код не выдает ошибок, но мой окончательный набор данных содержит только 100 строк.Являются ли данные слишком большими, поэтому Pandas автоматически игнорирует много строк ??
Большое спасибо
Вот пример кода, который я должен сделать для этих огромныхнаборы данных:
as_country = pd.merge(as_country, conventions_data, left_on='country', right_on = 'country_x', how = 'left')
as_country = as_country.dropna()
as_country = as_country.drop(columns=['countryname'])
as_country.enforce_date = as_country.enforce_date.astype(int)
as_country = as_country.drop(columns=['country_x', 'country_y','country_code','year'])
as_country['date_minus_enforcedate'] = as_country['date'] - as_country['enforce_date']
as_country['date_minus_enforcedate'] = np.where((as_country.date_minus_enforcedate <= 0), -1, 1)
## AS_country will be just for one day and group by:
as_country = as_country.groupby(['as', 'country']).mean().reset_index()
as_country = as_country.drop(columns=['date', 'enforce_date'])
as_country_columns = list(as_country.columns)
as_country_columns.remove('as')
as_country_columns.remove('country')
as_country = as_country.pivot(index='as', columns='country', values=as_country_columns)
as_country = as_country.fillna(0)