摘要:本文參考自修改列名原博客針對(duì)每個(gè)中的元素做相同的修改操作而拙作是對(duì)每個(gè)元素做不同操作的生搬硬套請(qǐng)大家不吝賜教提出問(wèn)題存在一個(gè)名為的現(xiàn)在我要將其名字改為該如何操作解決一通過(guò)類(lèi)的自身屬性修改無(wú)腦賦值直接修改先解決的推導(dǎo)問(wèn)題列表推導(dǎo)類(lèi)型轉(zhuǎn)換通過(guò)函
本文參考自:pandas 修改 DataFrame 列名
原博客針對(duì)每個(gè)DataFrame.columns中的元素做相同的修改操作
而拙作是對(duì)每個(gè)元素做不同操作的生搬硬套, 請(qǐng)大家不吝賜教
存在一個(gè)名為dataset的DataFrame
>>> 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")
現(xiàn)在, 我要將其columns名字改為:
>>> 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")該如何操作? 解決 一.通過(guò)DataFrame.columns類(lèi)的自身屬性修改: 1.無(wú)腦賦值直接修改
>>> # 先解決`new_columns`的推導(dǎo)問(wèn)題 >>> # 列表推導(dǎo) >>> new_columns_list = [column_str+"_"+str(i) for i ,column_str in enumerate(dataset.columns)] >>> # 類(lèi)型轉(zhuǎn)換 >>> new_columns = pd.core.indexes.base.Index(new_columns_list) >>> dataset.columns = new_columns2.通過(guò).map(mapper, na_action=None)函數(shù)來(lái)修改
>>> # 注:mapper 多運(yùn)用 lambda 表達(dá)式 >>> # 但我似乎沒(méi)有找到在 lambda 表達(dá)式中改變兩個(gè)值的方法 >>> # 所以只能蹩腳地用一個(gè)全局變量i, 和映射函數(shù)mapper() >>> # 希望大家能幫我找到方法 >>> i = 0 >>> def mapper(x): # 映射函數(shù)即 mapper global i x += "_" + str(i) i += 1 return x >>> dataset.columns.map(mapper)3.參考博客用到了DataFrame.columns.str對(duì)象
用help(DataFrame.columns.str)翻遍了文檔,
也沒(méi)能找到可以被我拿來(lái)套用的方法, 想著抽時(shí)間把這段文檔翻譯一下
>>> # 此處先用字典推導(dǎo)法 >>> new_dict = { key:key+"_"+str(i) for i, key in enumerate(dataset.columns) } >>> dataset.rename(columns=new_dict, inplace=True)2.映射修改法
>>> # 原博文依然用到了 lambda 表達(dá)式 >>> # 我就再生搬硬套一次, 把上面的復(fù)制過(guò)來(lái) >>> # 蹩腳地用一個(gè)全局變量i, 和映射函數(shù)mapper() >>> i = 0 >>> def mapper(x): # 映射函數(shù)即 mapper global i x += "_" + str(i) i += 1 return x dataset.rename(columns=mapper, inplace=True)稍微總結(jié)一下 : 字典推導(dǎo)和列表推導(dǎo)的使用方法很類(lèi)似, 最大的區(qū)別是選擇中括號(hào)還是大括號(hào) 寫(xiě)在最后 十分歡迎大家直接修改拙作或提出建議?。?!
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/43217.html
摘要:數(shù)據(jù)規(guī)整化清理轉(zhuǎn)換合并重塑數(shù)據(jù)聚合與分組運(yùn)算數(shù)據(jù)規(guī)整化清理轉(zhuǎn)換合并重塑合并數(shù)據(jù)集可根據(jù)一個(gè)或多個(gè)鍵將不同中的行鏈接起來(lái)。函數(shù)根據(jù)樣本分位數(shù)對(duì)數(shù)據(jù)進(jìn)行面元?jiǎng)澐?。字典或,給出待分組軸上的值與分組名之間的對(duì)應(yīng)關(guān)系。 本篇內(nèi)容為整理《利用Python進(jìn)行數(shù)據(jù)分析》,博主使用代碼為 Python3,部分內(nèi)容和書(shū)本有出入。 在前幾篇中我們介紹了 NumPy、pandas、matplotlib 三個(gè)...
摘要:批量刪除列名中的后綴實(shí)戰(zhàn)使用函數(shù)批量刪除列名中的后綴使用函數(shù)批量刪除列名中的后綴目錄 ?Pandas批量刪除dataframe列名中的后綴實(shí)戰(zhàn):使用rstrip函數(shù)批量刪除列名中的后綴(suffix)、使用replace函數(shù)批量刪除列名中的后綴(suffix) 目錄
摘要:批量刪除列名中的前綴實(shí)戰(zhàn)使用函數(shù)批量刪除列名中的前綴使用函數(shù)批量刪除列名中的前綴目錄 Pandas批量刪除dataframe列名中的前綴實(shí)戰(zhàn):使用lstrip函數(shù)批量刪除列名中的前綴(prefix)、使用replace函數(shù)批量刪除列名中的前綴(prefix) ? 目錄
前言: 先感受一下數(shù)據(jù)科學(xué)的魅力,上圖是在Smart Dubai 2017 GITEX科技周展臺(tái)上推出Smart Decision-Making Platform(智能決策平臺(tái)),于10月8日至12日在迪拜世界貿(mào)易中心舉行。游客可以通過(guò)一個(gè)沉浸式的空間將數(shù)據(jù)可視化,讓他們了解迪拜的未來(lái)。讓參觀者可以在現(xiàn)場(chǎng)查閱觀看全市數(shù)據(jù),這意味著迪拜將成為了世界上第一個(gè)與公眾分享實(shí)時(shí)實(shí)時(shí)數(shù)據(jù)的城市,同時(shí)還可以預(yù)...
閱讀 3302·2023-04-26 01:31
閱讀 1922·2023-04-25 22:08
閱讀 3512·2021-09-01 11:42
閱讀 2857·2019-08-30 12:58
閱讀 2212·2019-08-29 18:31
閱讀 2462·2019-08-29 17:18
閱讀 3092·2019-08-29 13:01
閱讀 2580·2019-08-28 18:22