Dataframes mit einer For-Schleife über eine Dictionary aktualisieren
Verfasst: Donnerstag 13. Februar 2025, 10:49
Hallo,
ich habe mehrere Dataframes erstellt. All diesen Dataframes möchte ich jetzt noch drei Spalten aus einem bestimmten Dataframe hinzufügen. Dazu habe ich ein Dictionary erstellt und über eine For-Schleife will ich mit dem Pandas pd.concat Befehl die bestehenden Datframes um die Drei neuen Spalten ergänzen. Der Code bringt auch keinen Fehler aber die Dataframes werden auch nicht um die Spalten ergänzt. Wie löse ich das Problem?
ich habe mehrere Dataframes erstellt. All diesen Dataframes möchte ich jetzt noch drei Spalten aus einem bestimmten Dataframe hinzufügen. Dazu habe ich ein Dictionary erstellt und über eine For-Schleife will ich mit dem Pandas pd.concat Befehl die bestehenden Datframes um die Drei neuen Spalten ergänzen. Der Code bringt auch keinen Fehler aber die Dataframes werden auch nicht um die Spalten ergänzt. Wie löse ich das Problem?
Code: Alles auswählen
dict_dataframe_collection_19_cols = {
'Number of Machines': df_number_of_machines,
'Shift Hours Paid': df_shift_hours_paid,
'Shift Hours Available': df_shift_hours_available,
'Direct Manning Operator': df_direct_manning_operator,
'Direct Manning Jobsetter': df_direct_manning_jobsetter,
'Direct Manning Teamleader': df_direct_manning_teamleader,
'Cycle Time Target': df_cycle_time_target,
'Cycle Time Total': df_cycle_time_total,
'OEE': df_oee,
'STD Labor Hrs per Pcs': df_std_hr_per_pc,
'STD Labor Hrs per Pcs Operator': df_std_hr_per_pc_operator,
'STD Labor Hrs per Pcs Jobsetter': df_std_hr_per_pc_jobsetter,
'STD Labor Hrs per Pcs Teamleader': df_std_hr_per_pc_teamleader,
'Monthly OT Hours Adjustment': df_overtime_hours,
'Gross Rates': df_pcs_per_hour_gross,
'Net Rates': df_pcs_per_hour_net,
}
dict_dataframe_collection_24_cols = {
'Daily Volume': df_volume_daily,
'Volume': df_volume,
'Operator Hrs per Day': df_hours_per_day_operator,
'Jobsetter Hrs per Day': df_hours_per_day_jobsetter,
'Teamsleder Hrs per Day': df_hours_per_day_teamleader,
'Capacity': df_capacity,
}
# Spaltennamen des Volume Dataframes und des Salesplan Dataframes
header_list_salesplan = df_volume_salesplan.columns
header_list_volume = df_volume.columns
dict_dataframe_collection = [
(dict_dataframe_collection_19_cols, header_list_salesplan),
(dict_dataframe_collection_24_cols, header_list_volume)
]
for dict_collection, column_header in dict_dataframe_collection:
for key in dict_collection:
df = dict_collection[key]
# Spaltennamen ändern
if dict_collection == dict_dataframe_collection_19_cols:
df.columns = [i for i in column_header if i != 'Part Number']
else:
df.columns = [i for i in column_header if i != 'Part Number']
# df_index_columns (Index-Spalten) definieren
df_index_columns = df_production_data[
['Teilenr.', 'Arbeitsgang', 'Arbeitsplatzkürzel']
]
# Füge die Index-Spalten an den Anfang des DataFrames hinzu
dict_collection[key] = pd.concat([df_index_columns, df], axis=1)