Я использую следующий код для расчета некоторых переменных, связанных со скоростью, для набора данных, состоящего примерно из 200 миллионов строк. Чтобы избежать проблем с памятью, я использую фрагментирование.
import pandas as pd
import numpy as np
import math
from scipy.stats import skew, kurtosis
from tqdm import tqdm
import gc # For garbage collection
# Read the joined DataFrame
joined_df = pd.read_parquet('joined_data.parquet')
# Fill NaN values in 'final_direction' with a placeholder
joined_df['final_direction'].fillna('Unknown', inplace=True)
# Define the road types and their corresponding whisker values
road_whiskers = {
'motorway': {'lower_whisker': 32.0, 'upper_whisker': 162.0},
'motorway_link': {'lower_whisker': 32.0, 'upper_whisker': 162.0},
'trunk': {'lower_whisker': 1.0, 'upper_whisker': 169.0},
'trunk_link': {'lower_whisker': 1.0, 'upper_whisker': 169.0},
'primary': {'lower_whisker': 0.0, 'upper_whisker': 113.0},
'primary_link': {'lower_whisker': 0.0, 'upper_whisker': 113.0},
'secondary': {'lower_whisker': 0.0, 'upper_whisker': 83.0},
'secondary_link': {'lower_whisker': 0.0, 'upper_whisker': 83.0},
'tertiary': {'lower_whisker': 0.0, 'upper_whisker': 74.0},
'tertiary_link': {'lower_whisker': 0.0, 'upper_whisker': 74.0},
'residential': {'lower_whisker': 0.0, 'upper_whisker': 55.0},
'living_street': {'lower_whisker': 0.0, 'upper_whisker': 36.0},
'unclassified': {'lower_whisker': 0.0, 'upper_whisker': 96.0}
}
# Custom aggregation function with dynamic threshold based on road type
def custom_agg(series, func, fclass=None, require_min_size=1, **kwargs):
lower_threshold = road_whiskers[fclass]['lower_whisker']
upper_threshold = road_whiskers[fclass]['upper_whisker']
valid_series = series[(series >= lower_threshold) & (series = road_whiskers[x['fclass'].iloc[0]]['lower_whisker']) & (x['Speed'] = lower_threshold) & (series = road_whiskers[fclass]['lower_whisker']) &
(group['Speed']
Подробнее здесь: https://stackoverflow.com/questions/792 ... e-due-to-l
Есть ли способ, кроме разделения Dask, избежать чрезмерного использования оперативной памяти из-за большого набора данны ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Dask – Как оптимизировать вычисление первой строки каждого раздела в кадре данных dask?
Anonymous » » в форуме Python - 0 Ответы
- 34 Просмотры
-
Последнее сообщение Anonymous
-