Untitled
unknown
python
2 years ago
1.8 kB
3
Indexable
import pandas as pd def generating_pairs_from_grouped_df(merged_df): allSequences = [] for keywords, numbers, dimensions, quantities, years in zip(merged_df['all_keywords'], merged_df['all_numbers'], merged_df['all_dimensions'], merged_df["all_quantities"], merged_df['all_years']): if type(keywords) == list: keywords = [str(keyword).lower().replace(' ', '') for keyword in keywords] # возможно нужно будет сделать предобработку других значений numbers = [number if pd.isna(number) == False else None for number in numbers] dimensions = [dimension if pd.isna(dimension) == False else None for dimension in dimensions] quantities = [quantity if pd.isna(quantity) == False else None for quantity in quantities] years = [year if pd.isna(year) == False else None for year in years] sequences = {} for keyword, number, dimension, quantity, year in zip(keywords, numbers, dimensions, quantities, years): if keyword in sequences: if number in sequences[keyword]: if (dimension, quantity) in sequences[keyword][number]: sequences[keyword][number][(dimension, quantity)].append(year) else: sequences[keyword][number][(dimension, quantity)] = [year] else: sequences[keyword][number] = {} else: sequences[keyword] = {} sequences[keyword][number] = {} sequences[keyword][number][(dimension, quantity)] = [year] allSequences.append(sequences) else: allSequences.append(None) return allSequences
Editor is loading...