Ich habe einen Datenrahmen und möchte die Spalten basierend auf einem Wörterbuch mit mehreren Werten pro Schlüssel umbenennen. Der Wörterbuchschlüssel hat den gewünschten Spaltennamen und die Werte enthalten möglicherweise alte Spaltennamen. Die Spaltennamen haben kein Muster.Umbenennen Spalten mit mehreren Wert Wörterbuch
import pandas as pd
column_dict = {'a':['col_a','col_1'], 'b':['col_b','col_2'], 'c':'col_c','col_3']}
df = pd.DataFrame([(1,2.,'Hello'), (2,3.,"World")], columns=['col_1', 'col_2', 'col_3'])
Funktionstext mit Schlüssel
def replace_names(text, dict):
for key in dict:
text = text.replace(dict[key],key)
return text
replace_names(df.columns.values,column_dict)
Gibt einen Fehler zu ersetzen, wenn auf Spaltennamen
genanntAttributeError: 'numpy.ndarray' object has no attribute 'replace'
Gibt es eine andere Möglichkeit, dies zu tun?
Perfect, viel einfacher! –
Diese Antwort sollte als "akzeptiert" markiert werden, wenn es eine Lösung für das ursprüngliche Problem gab. – Thanos