开发者

Pandas修改DataFrame列名的两种方法实例

开发者 https://www.devze.com 2022-12-12 12:30 出处:网络 作者: 小晓酱手记
目录解决方法1:通过DataFrame.columns类的自身属性修改1.暴力修改2.stirp方法3.lambda表达式解决方法2:通过DataFrame.rename()函数修改1.暴力修改(可以只修改部分列名)2.lambda表达式pandas更改DataFrame的行名或
目录
  • 解决方法1:通过DataFrame.columns类的自身属性修改
    • 1.暴力修改
    • 2.stirp方法
    • 3.lambda表达式
  • 解决方法2:通过DataFrame.rename()函数修改
    • 1.暴力修改(可以只修改部分列名)
    • 2.lambda表达式
  • pandas更改DataFrame的行名或列名实例
    • 更改列名
    • 更改行名
  • 总结

    输入:

       $a  $b  $c  $d  $e
    0   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('$','http://www.cppcns.com'), inplace=True)
    

    pandas 更改DataFrame的行名或列名实例

    更改行名或更改列名可以选用rename函数。

    首先,构建一个dataframe:

    import pandas as pd
    d={'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':1编程客栈2}}
    df=pd.DataFrame(d)
    print(df)
    1
    2
    3
    4
    

    输出结果为:

    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)
    1
    2
    

    输出结果为:

    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)
    1
    2
    

    输出结果为:

    one twotwo thttp://www.cppcns.comhree

    aa 1 5 9

    bb 2 6 10

    c 3 7 11

    d 4 8 12

    更改成功。

    当然,也可以选择暴力更改行名或列名:

    df.columns=['onon','twtwwww.cppcns.com','thth']
    print(df)
    1
    2
    

    输出结果为:

    onon twtw thth

    aa 1 5 9

    bb 2 6 10

    c 3 7 11

    d 4 8 12

    总结

    到此这篇关于Pandas修改DataFrame列名的两种方法的文章就介绍到这了,更多相关Pandas修改DataFrame列名内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

    0

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    关注公众号