本文參考自:pandas 修改 dataframe 列名
原部落格針對每個dataframe.columns
中的元素做相同的修改操作
而拙作是對每個元素做不同操作的生搬硬套, 請大家不吝賜教
存在乙個名為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')
現在, 我要將其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')
1.無腦賦值直接修改>>> # 先解決`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
>>> # 但我似乎沒有找到在 lambda 表示式中改變兩個值的方法
>>> # 希望大家能幫我找到方法
>>> i = 0
global i
x += '_' + str(i)
i += 1
return x
3.參考部落格用到了dataframe.columns.str
物件
用help(dataframe.columns.str)
翻遍了文件,
也沒能找到可以被我拿來套用的方法, 想著抽時間把這段文件翻譯一下
1.暴力字典法(好處:可以只修改特定的列)
>>> # 此處先用字典推導法
>>> new_dict =
>>> dataset.rename(columns=new_dict, inplace=true)
2.對映修改法>>> # 原博文依然用到了 lambda 表示式稍微總結一下 : 字典推導和列表推導的使用方法很類似, 最大的區別是選擇中括號還是大括號>>> # 我就再生搬硬套一次, 把上面的複製過來
>>> i = 0
global i
x += '_' + str(i)
i += 1
return x
Pandas統計分析基礎之DataFrame
3 更改dataframe中的資料 4 增加dataframe中的資料 刪除dataframe中的資料 dataframe類似於資料庫的表或者excel的 panda將資料讀取之後,以dataframe的資料結構儲存在記憶體中。下面就來介紹一下dataframe的增刪查改操作。因為dataframe...
pandas 修改 DataFrame 列名
本文參考自 pandas 修改 dataframe 列名 原部落格針對每個dataframe.columns中的元素做相同的修改操作 而拙作是對每個元素做不同操作的生搬硬套,請大家不吝賜教 存在乙個名為dataset的dataframe dataset.columns index age job m...
Spark 解析XML檔案到DataFrame
公司遇到一點需求,平時load檔案基本上都是csv格式的檔案,可是就有那麼乙個檔案是xml檔案,這也正常,因為檔案是別的team推過來的,自然要遵循他們的格式,於是就要想辦法解析xml檔案。目標是把xml檔案轉換為dataframe,然後寫到表中。可是spark.reader並沒有讀取xml格式檔案...