Pandas中如何修改DataFrame列名
这篇文章主要介绍Pandas中如何修改DataFrame列名,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
输入:
$a $b $c $d $e0 1 2 3 4 5
期望的输出:
a b c d e
0 1 2 3 4 5
原数据DataFrame:
import pandas as pd df = pd.DataFrame({'$a': [1], '$b': [2], '$c': [3], '$d': [4], '$e': [5]})
解决方法1:通过DataFrame.columns类的自身属性修改
1. 暴力修改
df.columns = ['a', 'b', 'c', 'd', 'e']
2. stirp 方法
strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。
df.columns = df.columns.str.strip('$')
3. lambda 表达式
map() 会根据提供的函数对指定序列做映射。以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。
lambda x: x[1:]表示取第二个元素,因此列表名$a、$b等只取出a、b。
df.columns = df.columns.map(lambda x: x[1:])
解决方法2:通过DataFrame.rename()函数修改
1. 暴力修改(可以只修改部分列名)
df.rename(columns=('$a': 'a', '$b': 'b', '$c': 'c', '$d': 'd', '$e': 'e'}, inplace=True)
2. lambda 表达式
调用replace函数,把$替换为空。
df.rename(columns=lambda x:x.replace('$',''), inplace=True)
pandas 更改DataFrame的行名或列名实例
更改行名或更改列名可以选用rename函数。
首先,构建一个dataframe:
import pandas as pdd={'one':{'a':1,'b':2,'c':3,'d':4},'two':{'a':5,'b':6,'c':7,'d':8},'three':{'a':9,'b':10,'c':11,'d':12}}df=pd.DataFrame(d)print(df)1234
输出结果为:
one two three
a 1 5 9
b 2 6 10
c 3 7 11
d 4 8 12
更改列名
将第2列列名更改为twotwo
df.rename(columns={'two':'twotwo'},inplace=True)print(df)12
输出结果为:
one twotwo three
a 1 5 9
b 2 6 10
c 3 7 11
d 4 8 12
更改行名
将第1行和第2行的行名更改为aa,bb
df.rename(index={'a':'aa','b':'bb'},inplace=True)print(df)12
输出结果为:
one twotwo three
aa 1 5 9
bb 2 6 10
c 3 7 11
d 4 8 12
更改成功。
当然,也可以选择暴力更改行名或列名:
df.columns=['onon','twtw','thth']print(df)12
输出结果为:
onon twtw thth
aa 1 5 9
bb 2 6 10
c 3 7 11
d 4 8 12
以上是“Pandas中如何修改DataFrame列名”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网行业资讯频道!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341