介绍
这篇文章将为大家详细讲解有关使用熊猫怎么修改DataFrame列名,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
<强>提出问题强>
存在一个名为数据集的DataFrame
在祝辞祝辞dataset.columns 指数([& # 39;年龄# 39;,,& # 39;工作# 39;,,& # 39;婚姻# 39;,,& # 39;教育# 39;,,& # 39;默认# 39;,,& # 39;住房# 39;,,& # 39;贷款,, ,,,& # 39;接触# 39;,,& # 39;月# 39;,,& # 39;day_of_week& # 39;,, & # 39;时间# 39;,,& # 39;运动# 39;,,& # 39;pdays& # 39; ,,,& # 39;先前# 39;,,& # 39;poutcome& # 39;,, & # 39; emp.var.rate& # 39;,, & # 39; cons.price.idx& # 39; ,,,& # 39;cons.conf.idx& # 39;,, & # 39; euribor3m& # 39;,, & # 39; nr.employed& # 39;,, & # 39; y # 39;], ,,dtype=& # 39;对象# 39;)
现在,我要将其列名字改为:
在祝辞祝辞new_columns 指数([& # 39;age_0& # 39;,, & # 39; job_1& # 39;,, & # 39; marital_2& # 39;,, & # 39; education_3& # 39;,, & # 39; default_4& # 39;,, & # 39; housing_5& # 39;, ,,,& # 39;loan_6& # 39;,, & # 39; contact_7& # 39;,, & # 39; month_8& # 39;,, & # 39; day_of_week_9& # 39;,, & # 39; duration_10& # 39; ,,,& # 39;campaign_11& # 39;,, & # 39; pdays_12& # 39;,, & # 39; previous_13& # 39;,, & # 39; poutcome_14& # 39; ,,,& # 39;emp.var.rate_15& # 39;,, & # 39; cons.price.idx_16& # 39;,, & # 39; cons.conf.idx_17& # 39; ,,,& # 39;euribor3m_18& # 39;,, & # 39; nr.employed_19& # 39;,, & # 39; y_20& # 39;], ,才能dtype=& # 39;对象# 39;)
该如何操作?
<强>解决强>
一。通过DataFrame.columns类的自身属性修改:
1。无脑赋值直接修改
在祝辞祝辞,#,先解决“new_columns”的推导问题 在祝辞祝辞,#,列表推导 在祝辞祝辞,new_columns_list =, (column_str + & # 39; _ # 39; + str (i), for 小姐:,column_str 拷贝列举(dataset.columns)] 在祝辞祝辞,#,类型转换 在祝辞祝辞,new_columns =, pd.core.indexes.base.Index (new_columns_list) 祝辞祝辞祝辞,dataset.columns =, new_columns
2。通过。地图(mapper na_action=None)函数来修改
在祝辞祝辞,#,注:mapper 多运用,lambda 表达式 在祝辞祝辞,#,但我似乎没有找到在,lambda 表达式中改变两个值的方法 在祝辞祝辞,#,所以只能蹩脚地用一个全局变量我,,和映射函数映射器() 在祝辞祝辞,#,希望大家能帮我找到方法 在祝辞祝辞,小姐:=0 在祝辞祝辞,def 映射器(x):, #,映射函数即,映射器 ,global 我 +=x 才能;& # 39;_ # 39;,+,str(我) 小姐:才能+=1 return 才能;x 祝辞祝辞祝辞,dataset.columns.map (mapper)
3。参考博客用到了DataFrame.columns.str对象
用帮助(DataFrame.columns.str)翻遍了文档,
也没能找到可以被我拿来套用的方法,想着抽时间把这段文档翻译一下
<强>二。通过DataFrame.rename()函数来修改强>
1。暴力字典法(好处:可以只修改特定的列)
在祝辞祝辞,#,此处先用字典推导法 在祝辞祝辞,new_dict =, { 关键:才能键+ & # 39;_ # 39;+ str(我) for 我,才能,key 列举(dataset.columns)拷贝 ,,} 在祝辞祝辞,dataset.rename(列=new_dict,原地=True)
2。映射修改法
在祝辞祝辞,#,原博文依然用到了,lambda 表达式 在祝辞祝辞,#,我就再生搬硬套一次,,把上面的复制过的来 在祝辞祝辞,#,蹩脚地用一个全局变量我,,和映射函数映射器() 在祝辞祝辞,小姐:=0 在祝辞祝辞,def 映射器(x):, #,映射函数即,映射器 ,global 我 +=x 才能;& # 39;_ # 39;,+,str(我) 小姐:才能+=1 return 才能;x dataset.rename(列=映射器,原地=True)
关于使用熊猫怎么修改DataFrame列名就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。