Heim > Backend-Entwicklung > Python-Tutorial > Einführung in die Methode zum Ändern von DataFrame-Spaltennamen in Pandas (Codebeispiel)

Einführung in die Methode zum Ändern von DataFrame-Spaltennamen in Pandas (Codebeispiel)

不言
Freigeben: 2019-02-22 14:29:38
nach vorne
5623 Leute haben es durchsucht

Dieser Artikel bietet Ihnen eine Einführung in die Methode zum Ändern von DataFrame-Spaltennamen in Pandas (Codebeispiele). Ich hoffe, dass er für Sie hilfreich ist.

Auf diesen Artikel wird verwiesen von: pandas Ändern von DataFrame-Spaltennamen
Der ursprüngliche Blog führt den gleichen Änderungsvorgang für jedes Element in DataFrame.columns aus
Meine Arbeit ist jedoch eine mechanische Kopie der Durchführung verschiedener Vorgänge Jedes Element. Bitte zögern Sie nicht, mich aufzuklären

Stellen Sie eine Frage

Es gibt einen DataFrame mit dem Namen Datensatz

>>> dataset.columns
Index(['age', 'job', 'marital', 'education', 'default', 'housing', 'loan',
       'contact', 'month', 'day_of_week', 'duration', 'campaign', 'pdays',
       'previous', 'poutcome', 'emp.var.rate', 'cons.price.idx',
       'cons.conf.idx', 'euribor3m', 'nr.employed', 'y'],
      dtype='object')
Nach dem Login kopieren

Jetzt möchte ich ihn ändern columnsName an:

>>> new_columns
Index(['age_0', 'job_1', 'marital_2', 'education_3', 'default_4', 'housing_5',
       'loan_6', 'contact_7', 'month_8', 'day_of_week_9', 'duration_10',
       'campaign_11', 'pdays_12', 'previous_13', 'poutcome_14',
       'emp.var.rate_15', 'cons.price.idx_16', 'cons.conf.idx_17',
       'euribor3m_18', 'nr.employed_19', 'y_20'],
      dtype='object')
Nach dem Login kopieren

Wie geht das?

Lösung

1. Ändern Sie durch die eigenen Eigenschaften der DataFrame.columns-Klasse:

1. Ändern Sie direkt ohne Gehirnzuweisung

>>> # 先解决`new_columns`的推导问题
>>> # 列表推导
>>> new_columns_list = [column_str+'_'+str(i) for i ,column_str in enumerate(dataset.columns)]
>>> # 类型转换
>>> new_columns = pd.core.indexes.base.Index(new_columns_list)
>>> dataset.columns = new_columns
Nach dem Login kopieren

2. Verwenden Sie die Funktion .map(mapper, na_action=None), um

>>> # 注:mapper 多运用 lambda 表达式
>>> # 但我似乎没有找到在 lambda 表达式中改变两个值的方法
>>> # 所以只能蹩脚地用一个全局变量i, 和映射函数mapper()
>>> # 希望大家能帮我找到方法

>>> i = 0
>>> def mapper(x): # 映射函数即 mapper
    global i
    x += '_' + str(i)
    i += 1
    return x
>>> dataset.columns.map(mapper)
Nach dem Login kopieren

3 zu ändern >DataFrame.columns.str mit Ich habe die Dokumente durchsucht,

und konnte keine Methode finden, die ich anwenden könnte. Ich dachte, ich würde mir etwas Zeit nehmen, um dieses Dokument zu übersetzen

help(DataFrame.columns.str)
2. Über DataFrame.rename() Funktion zum Ändern

1. Gewalttätige Wörterbuchmethode (Vorteil: Sie können nur bestimmte Spalten ändern)

2

>>> # 此处先用字典推导法
>>> new_dict = {
    key:key+'_'+str(i)
    for i, key in enumerate(dataset.columns)
    }
>>> dataset.rename(columns=new_dict, inplace=True)
Nach dem Login kopieren

Um es kurz zusammenzufassen: Die Verwendung der Wörterbuchableitung und der Listenableitung sind sehr ähnlich. Der größte Unterschied besteht darin, ob eckige oder geschweifte Klammern verwendet werden

Das obige ist der detaillierte Inhalt vonEinführung in die Methode zum Ändern von DataFrame-Spaltennamen in Pandas (Codebeispiel). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:segmentfault.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage