精华内容
下载资源
问答
  • Pandas rename()方法用于重命名任何索引,列或行。列的重命名也可以通过dataframe.columns = [#list]。但在上述情况下,自由度不高。即使必须更改一列,也必须传递完整的列列表。另外,上述方法不适用于索引标签。用...

    Python是进行数据分析的一种出色语言,主要是因为以数据为中心的python软件包具有奇妙的生态系统。 Pandas是其中的一种,使导入和分析数据更加容易。

    Pandas rename()方法用于重命名任何索引,列或行。列的重命名也可以通过dataframe.columns = [#list]。但在上述情况下,自由度不高。即使必须更改一列,也必须传递完整的列列表。另外,上述方法不适用于索引标签。

    用法: DataFrame.rename(mapper=None, index=None, columns=None, axis=None, copy=True, inplace=False, level=None)

    参数:

    映射器,索引和列:字典值,键表示旧名称,值表示新名称。这些参数只能一次使用。

    axis:int或字符串值,“ 0”表示行,“ 1”表示列。

    copy:如果为True,则复制基础数据。

    inplace:如果为True,则在原始 DataFrame 中进行更改。

    level:用于在数据帧具有多个级别索引的情况下指定级别。

    返回类型:具有新名称的 DataFrame

    要下载代码中使用的CSV,请点击此处。

    范例1:更改索引标签

    在此示例中,名称列设置为索引列,稍后使用rename()方法更改其名称。

    # importing pandas module

    import pandas as pd

    # making data frame from csv file

    data = pd.read_csv("nba.csv", index_col ="Name" )

    # changing index cols with rename()

    data.rename(index = {"Avery Bradley":"NEW NAME",

    "Jae Crowder":"NEW NAME 2"},

    inplace = True)

    # display

    data

    输出:

    如输出图像中所示,第一和第二位置的索引标签的名称已更改为NEW NAME&NEW NAME 2。

    9b2f3fab6597c170992d6dc6c4de6a8b.jpg

    范例2:更改多个列名

    在此示例中,通过传递字典来更改多个列名。之后,将结果与使用.columns方法返回的数据帧进行比较。由于NaN == NaN将返回false,因此在比较之前将空值删除。

    # importing pandas module

    import pandas as pd

    # making data frame from csv file

    data = pd.read_csv("nba.csv", index_col ="Name" )

    # changing cols with rename()

    new_data = data.rename(columns = {"Team":"Team Name",

    "College":"Education",

    "Salary":"Income"})

    # changing columns using .columns()

    data.columns = ['Team Name', 'Number', 'Position', 'Age',

    'Height', 'Weight', 'Education', 'Income']

    # dropna used to ignore na values

    print(new_data.dropna()== data.dropna())

    输出:

    如输出图像所示,由于所有值均为True,因此使用这两种方法的结果相同。

    4a421fe405f72ba84445f5282eefb3f3.jpg

    展开全文
  • Python os.renames()方法概述os.renames() 方法用于递归重命名目录或文件。类似rename()。语法renames()方法语法格式如下:os.renames(old,new)参数 old -- 要重命名的目录new --文件或目录的新名字。甚至可以是包含...

    Python os.renames()方法

    概述

    os.renames() 方法用于递归重命名目录或文件。类似rename()。

    语法

    renames()方法语法格式如下:

    os.renames(old,new)

    参数 old -- 要重命名的目录

    new --文件或目录的新名字。甚至可以是包含在目录中的文件,或者完整的目录树。

    返回值

    该方法没有返回值

    实例

    以下实例演示了 renames() 方法的使用:

    #!/usr/bin/python

    # -*- coding: UTF-8 -*-

    import os, sys

    print "当前目录为: %s" %os.getcwd()

    # 列出目录

    print "目录为: %s"%os.listdir(os.getcwd())

    # 重命名 "aa1.txt"

    os.renames("aa1.txt","newdir/aanew.txt")

    print "重命名成功。"

    # 列出重命名的文件 "aa1.txt"

    print "目录为: %s" %os.listdir(os.getcwd())

    执行以上程序输出结果为:

    当前目录为: /tmp

    目录为:

    [ 'a1.txt','resume.doc','a3.py','aa1.txt','Administrator','amrood.admin' ]

    重命名成功。

    目录为:

    [ 'a1.txt','resume.doc','a3.py','Administrator','amrood.admin' ]

    序号

    相关信息

    3

    os.chflags()

    设置路径的标记为数字标记

    6

    9

    10

    os.dup2()

    将一个文件描述符复制到另一个

    11

    os.fchdir()

    通过文件描述符改变当前工作目录

    12

    os.fchmod()

    改变一个文件的访问权限

    13

    15

    os.fdopen()

    通过文件描述符创建一个文件对象,并返回这个文件对象

    16

    os.fpathconf()

    返回一个打开的文件的系统配置信息

    17

    os.fstat()

    返回文件描述符的状态

    18

    os.fstatvfs()

    返回包含文件描述符的文件的文件系统的信息

    19

    os.fsync()

    强制将文件描述符为的文件写入硬盘

    20

    22

    os.getcwdu()

    返回一个当前工作目录的Unicode对象

    23

    os.isatty()

    判断文件描述符是否打开

    24

    28

    os.listdir()

    返回path指定的文件夹包含的文件或文件夹的名字的列表

    29

    os.lseek()

    设置文件描述符当前位置

    30

    os.lstat()

    像stat(),但是没有软链接

    31

    os.major()

    从原始的设备号中提取设备major号码

    32

    os.makedev()

    以major和minor设备号组成一个原始设备号

    34

    os.minor()

    从原始的设备号中提取设备minor号码

    37

    os.mknod()

    创建一个文件系统节点

    39

    40

    os.pathconf()

    返回相关文件的系统配置信息

    43

    os.read()

    从文件描述符中读取最多n个字节

    44

    45

    os.remove()

    删除路径为path的文件

    48

    49

    os.stat()

    获取指定的路径的信息

    50

    os.stat_float_times()

    决定stat_result是否以float对象显示时间戳

    51

    os.statvfs()

    获取指定路径的文件系统统计信息

    55

    os.tempnam()

    返回唯一的路径名用于创建临时文件

    56

    os.tmpfile()

    返回一个打开的模式为(w+b)的文件对象

    57

    os.tmpnam()

    为创建一个临时文件返回一个唯一的路径

    60

    os.utime()

    返回指定的文件的访问和修改的时间

    61

    os.walk()

    输出在文件夹中的文件名通过在树中游走

    62

    os.write()

    写入字符串到文件描述符中

    本文网址:http://www.santii.com/python/python-os_renames.html

    展开全文
  • Python os.rename()方法使用说明 语法:os.rename(src, dst) 参数:src、dst 使用示例: import os os.rename('.txt') 批量更改文件名实现代码: #-*- coding: UTF-8 -*- import os filenames = os.listd
  • Python os.rename() 方法概述os.rename() 方法用于命名文件或目录,从 src 到 dst,如果dst是一个存在的目录, 将抛出OSError。语法rename()方法语法格式如下:os.rename(src, dst)参数src -- 要修改的目录名dst -- ...

    Python os.rename() 方法

    概述

    os.rename() 方法用于命名文件或目录,从 src 到 dst,如果dst是一个存在的目录, 将抛出OSError。

    语法

    rename()方法语法格式如下:

    os.rename(src, dst)

    参数

    src -- 要修改的目录名

    dst -- 修改后的目录名

    返回值

    该方法没有返回值

    实例

    以下实例演示了 rename() 方法的使用:

    #!/usr/bin/python

    # -*- coding: UTF-8 -*-

    import os, sys

    # 列出目录

    print "目录为: %s"%os.listdir(os.getcwd())

    # 重命名

    os.rename("test","test2")

    print "重命名成功。"

    # 列出重命名后的目录

    print "目录为: %s" %os.listdir(os.getcwd())

    执行以上程序输出结果为:

    目录为:

    [ 'a1.txt','resume.doc','a3.py','test' ]

    重命名成功。

    [ 'a1.txt','resume.doc','a3.py','test2' ]

    展开全文
  • Python os.rename和os.renames用法的区别1. 前言2. os.rename 和os.renames()2.1 官方的文档2.2 用法比较2.2.1 os.rename(oldpath,newpath)2.2.2 os.renames(oldpath, newpath)3. 小结4. 参考文献 1. 前言 今天看了...

    1. 前言

    今天看了os和os.path模块的官方文档,其中os.rename()和os.renames()刚开始没有整明白到底啥区别,接着自己点进去看源码,再结合了几篇技术博客和实践,算是对于os.rename和os.renames的使用有了基本了解,特地纪录下,方便日后查看。如果有理解不当的地方,还请大家指出交流。

    2. os.rename 和os.renames()

    2.1 官方的文档

    • os.rename(src, dst, *, src_dir_fd=None, dst_dir_fd=None)
      Rename the file or directory src to dst. If dst exists, the operation will fail with an OSError subclass in a number of cases.

    • os.renames(old, new)
      Recursive directory or file renaming function. Works like rename(), except creation of any intermediate directories needed to make the new pathname good is attempted first. After the rename, directories corresponding to rightmost path segments of the old name will be pruned away using removedirs().
      注解 This function can fail with the new directory structure made if you lack permissions needed to remove the leaf directory or file.
      看完英文文档,一开始还是不明白os.renames()到底怎么递归,怎么用的。
      接下来看看源码,发现os.renames调用rename(),只不过在调用之前,用的是makedirs()递归创建目录。所以本质上os.renames()应该是通过makedirs()来实现递归的。

    def renames(old, new):
        head, tail = path.split(new)
        if head and tail and not path.exists(head):
            makedirs(head)
        rename(old, new)
        head, tail = path.split(old)
        if head and tail:
            try:
                removedirs(head)
            except OSError:
                pass
    

    2.2 用法比较

    再说用法前,为了方便表述准确,我们学习一下os.path.split()方法
    看源码:

    def split(p):
        """Split a pathname.
    
        Return tuple (head, tail) where tail is everything after the final slash.
        Either part may be empty."""
        p = os.fspath(p)
        seps = _get_bothseps(p)
        d, p = splitdrive(p)
        # set i to index beyond p's last slash
        i = len(p)
        while i and p[i-1] not in seps:
            i -= 1
        head, tail = p[:i], p[i:] # now tail has no slashes
        # remove trailing slashes from head, unless it's all slashes
        head = head.rstrip(seps) or head
        return d + head, tail
    

    官方说明:

    • os.path.split(path)
      Split the pathname path into a pair, (head, tail) where tail is the last pathname component and head is everything leading up to that. The tail part will never contain a slash; if path ends in a slash, tail will be empty. If there is no slash in path, head will be empty. If path is empty, both head and tail are empty. Trailing slashes are stripped from head unless it is the root (one or more slashes only). In all cases, join(head, tail) returns a path to the same location as path (but the strings may differ). Also see the functions dirname() and basename().

    翻译过来就是说,os.path.split()的功能是把给定的一个路径pathname,以最后一个斜线作为分分隔符,得到一个(head, tail),即(头, 尾)的元组。

    • 如果pathname中没有斜线,则head为空;
    • 如果pathname最后以斜线结尾,则tail为空;
    • 如果pathname为空,则head和tail都是空。
      比如:
    >>> import os
    >>> os.path.split('C:/a/b/c.text')
    ('C:/a/b', 'c.text')
    >>> os.path.split('C:/a/b')
    ('C:/a', 'b')
    >>> os.path.split('C:/a/')
    ('C:/a', '')
    >>> os.path.split('c.text')
    ('', 'c.text')
    >>> os.path.split('')
    ('', '')
    

    理解了os.path.split()的用法,明确了head和tail的概念,接下来我们就进入os.rename()和os.path.renames()用法上的比较:

    2.2.1 os.rename(oldpath,newpath)

    oldpath(oldhead, oldtail)
    newpath(newhead, newtail)
    对于os.rename(oldpath, newpath)而言,它的功能本质是有点像把文件oldtail(文件夹或者文件均可)移到newhead文件夹下并重命名为newtail(文件或者文件夹)。它只可以更改oldtail部分,不能更改oldhead部分,即不可以更改上级目录部分。

    1. 如果oldhead或者newhead不存在,均会报错:FileNotFoundError: [WinError 3] 系统找不到指定的路径。
    2. 如果oldhead存在,oldtail不存在时,报错:FileNotFoundError: [WinError 2] 系统找不到指定的文件。
    3. 如果newhead存在,newtail存在,会报错:FileExistsError: [WinError 183] 当文件已存在时,无法创建该文件。

    示例:C:\Users\Jock\Desktop\test\1.jpg

    # 重命名test文件夹 为test_a
    >>> os.rename(r'C:\Users\Jock\Desktop\test', r'C:\Users\Jock\Desktop\test_a')  
    # 重命名1.jpg文件为2.jpg
    >>> os.rename(r'C:\Users\Jock\Desktop\test_a\1.jpg', r'C:\Users\Jock\Desktop\test_a\2.jpg')  
    # newhead不存在,报错:FileNotFoundError: [WinError 3] 系统找不到指定的路径。
    >>> os.rename(r'C:\Users\Jock\Desktop\test_a\2.jpg', r'C:\Users\Jock\Desktop\test_b\2.jpg')
    FileNotFoundError: [WinError 3] 系统找不到指定的路径。: 'C:\\Users\\Jock\\Desktop\\test_a\\2.jpg' -> 'C:\\Users\\Jock\\Desktop\\test_b\\2.jpg' 
    # oldhead不存在,报错:FileNotFoundError: [WinError 3] 系统找不到指定的路径。
    >>> os.rename(r'C:\Users\Jock\Desktop\test\2.jpg', r'C:\Users\Jock\Desktop\test_a\1.jpg')
    FileNotFoundError: [WinError 3] 系统找不到指定的路径。: 'C:\\Users\\Jock\\Desktop\\test\\2.jpg' -> 'C:\\Users\\Jock\\Desktop\\test_a\\1.jpg'
    # oldhead存在,oldtail不存在时,报错:FileNotFoundError: [WinError 2] 系统找不到指定的文件
    >>> os.rename(r'C:\Users\Jock\Desktop\test_a\2.jpg', r'C:\Users\Jock\Desktop\test_a\1.jpg')
    FileNotFoundError: [WinError 2] 系统找不到指定的文件。: 'C:\\Users\\Jock\\Desktop\\test_a\\2.jpg' -> 'C:\\Users\\Jock\\Desktop\\test_a\\1.jpg'
    # 重新复制一张1.jpg文件到C:\Users\Jock\Desktop\test_a路径下,现在test_a包含1.jpg和2.jpg
    # newhead存在,newtail存在,会报错:FileExistsError: [WinError 183] 当文件已存在时,无法创建该文件
    >>> os.rename(r'C:\Users\Jock\Desktop\test_a\1.jpg', r'C:\Users\Jock\Desktop\test_a\2.jpg')
    FileExistsError: [WinError 183] 当文件已存在时,无法创建该文件。: 'C:\\Users\\Jock\\Desktop\\test_a\\1.jpg' -> 'C:\\Users\\Jock\\Desktop\\test_a\\2.jpg'
    

    2.2.2 os.renames(oldpath, newpath)

    oldpath(oldhead, oldtail)
    newpath(newhead, newtail)
    对于os.renames(oldpath, newpath)而言,它可以只更改oldtail部分,也可以只更改oldhead部分,还可以同时更改oldhead和oldtail,对于newpath的newhead没有限制,只要有权限访问,如果newhead不存在,直接创建。

    1. 如果oldhead不存在,会报错:FileNotFoundError: [WinError 3] 系统找不到指定的路径。
    2. 如果oldhead存在,oldtail不存在时,报错:FileNotFoundError: [WinError 2] 系统找不到指定的文件。
    3. 如果newhead存在,newtail存在,会报错:FileExistsError: [WinError 183] 当文件已存在时,无法创建该文件。

    示例:C:\Users\Jock\Desktop\test\1.jpg

    # 重命名test文件夹 为test_a
    >>> os.renames(r'C:\Users\Jock\Desktop\test', r'C:\Users\Jock\Desktop\test_a')
    # 重命名1.jpg文件为2.jpg
    >>> os.renames(r'C:\Users\Jock\Desktop\test_a\1.jpg', r'C:\Users\Jock\Desktop\test_a\2.jpg')
    # newhead不存在,直接创建newhead然后重命名,这里相当于修改了目录,文件名没有变
    >>> os.renames(r'C:\Users\Jock\Desktop\test_a\2.jpg', r'C:\Users\Jock\Desktop\test_b\2.jpg')
    # 同时修改目录和文件名
    >>> os.renames(r'C:\Users\Jock\Desktop\test_b\2.jpg', r'C:\Users\Jock\Desktop\test_a\1.jpg')
    # 如果oldhead不存在,会报错:FileNotFoundError: [WinError 3] 系统找不到指定的路径。
    >>> os.renames(r'C:\Users\Jock\Desktop\test_b\1.jpg', r'C:\Users\Jock\Desktop\test_a\1.jpg')
    FileNotFoundError: [WinError 3] 系统找不到指定的路径。: 'C:\\Users\\Jock\\Desktop\\test_b\\1.jpg' -> 'C:\\Users\\Jock\\Desktop\\test_a\\1.jpg'
    # oldhead存在,oldtail不存在时,报错:FileNotFoundError: [WinError 2] 系统找不到指定的文件
    >>> os.renames(r'C:\Users\Jock\Desktop\test_a\2.jpg', r'C:\Users\Jock\Desktop\test_a\1.jpg')
    FileNotFoundError: [WinError 2] 系统找不到指定的文件。: 'C:\\Users\\Jock\\Desktop\\test_a\\2.jpg' -> 'C:\\Users\\Jock\\Desktop\\test_a\\1.jpg'
    # 重新复制一张1.jpg文件到C:\Users\Jock\Desktop\test_a路径下,现在test_a包含1.jpg和2.jpg
    # 如果newhead存在,newtail存在,会报错:FileExistsError: [WinError 183] 当文件已存在时,无法创建该文件
    >>> os.renames(r'C:\Users\Jock\Desktop\test_a\1.jpg', r'C:\Users\Jock\Desktop\test_a\2.jpg')
    Traceback (most recent call last):
    FileExistsError: [WinError 183] 当文件已存在时,无法创建该文件。: 'C:\\Users\\Jock\\Desktop\\test_a\\1.jpg' -> 'C:\\Users\\Jock\\Desktop\\test_a\\2.jpg'
    

    3. 小结

    1. os.path.split(path), 是把path以最后一个斜线为分隔符,切割为head和tail,以(head, tail)元组的形势返回。
    2. os.rename(oldpath, newpath),它是只能重命名最后的tail部分,不能对head部分进行修改。tail的上级目录无法被修改,且无法创建新的目录。
    3. os.renames(oldpath, newpath),它既可以重命名tail部分,也可以修改head部分,还可以创建新的目录。
    4. 如果newpath已经存在,那么os.rename()和os.renames()都会报错:FileExistsError: [WinError 183] 当文件已存在时,无法创建该文件。

    4. 参考文献

    1. os — 操作系统接口模块
    2. os.path — 常见路径操作
    3. 学习python之 os.rename VS os.renames

    后记:
    我从本硕药学零基础转行计算机,自学路上,走过很多弯路,也庆幸自己喜欢记笔记,把知识点进行总结,帮助自己成功实现转行。
    2020下半年进入职场,深感自己的不足,所以2021年给自己定了个计划,每日学一技,日积月累,厚积薄发。
    如果你想和我一起交流学习,欢迎大家关注我的微信公众号每日学一技,扫描下方二维码或者搜索每日学一技关注。
    这个公众号主要是分享和记录自己每日的技术学习,不定期整理子类分享,主要涉及 C – > Python – > Java,计算机基础知识,机器学习,职场技能等,简单说就是一句话,成长的见证!
    每日学一技

    展开全文
  • 转载:http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.rename.html >>> s = pd.Series([1, 2, 3]) >>> s 0 1 1 2 2 3 dtype: int64 >>> s.ren...
  • Python os.rename的一点心得

    千次阅读 2019-11-01 14:58:47
    这时我百度“Python 重命名”关键字出现的结果是os.rename。然后我按照我的思路将os.rename添加到我的代码(下面是部分代码) for name in os.listdir(dir): if name.endswith('.gif'): new_name = str(seq)+'....
  • 本文实例讲述了Python中os模块功能与用法。分享给大家供大家参考,具体如下:OS模块Python的os模块封装了常见的文件和目录操作,本文只是列出部分常用的方法,更多的方法可以查看官方文档。下面是部分常见的用法:...
  • Python2 os.rename() 方法 os.rename() 方法用于命名文件或目录,从 src 到 dst,如果 dst 是一个存在的目录,将抛出 OSError。 src -- 要修改的目录名 dst -- 修改后的目录名 os.rename(src, dst) Rename the file ...
  • os,rename(oldfilename,newfilename) # 修改前后的filename 可以用于file文件的重命名 os.renames(oldpathfile, newpathfile) # 修改前后的文件路径及file文件名, 可以重命名文件的路径(文件的上级目录名)及文件名...
  • 这个模块提供了一种方便的使用操作系统函数的方法。 os常用方法 在磁盘创建一个测试文件夹 os.rename(oldname, newname) 1、修改文件夹的名称 >>> os.listdir('E:\\python_cmd\\test_1') ['test_1_1'] >>> os....
  • python中os模块用法

    万次阅读 多人点赞 2018-04-17 11:10:17
    一、os模块概述Python os模块包含普遍的操作系统功能。...(一语中的)二、常用方法1、os.name输出字符串指示正在使用的平台。如果是window 则用'nt'表示,对于Linux/Unix用户,它是'posix'。2、os.ge...
  • python中namedtuple的用法

    千次阅读 2017-11-06 15:38:15
    python中 namedtuple 的用法 # encoding: utf-8 from collections import namedtuple person =('name','age','sex','mail') Person = nam
  • 今天受人之托爬取了一些html格式的文件,需要我提取时间并将时间添加至文件名称开头,其他都挺顺利,但在利用python的os.rename时,接二连三跳出问题:WindowsError: [Error 2],WindowsError: [Error 123],Windows...
  • python:os.rename()的使用,批量修改文件名 批量修改文件目录的名称 我的需求:给学习资料的文件命名,在学习资料文件名前加上对应的上课日期,因为上课时间是每两天休息一次,所以时间不是连续的,需要对时间做...
  • rename用法

    2013-09-06 15:36:39
    rename用法 rename支持正则表达式 rename支持通配符 rename的参数
  • Python中的nametuple用法

    千次阅读 2018-09-17 17:15:27
    Python中的nametuple用法 namedtuple是继承自tuple的子类。namedtuple创建一个和tuple类似的对象,而且对象拥有可访问的属性。 因为元组的局限性:不能为元组内部的数据进行命名,所以往往我们并不知道一个元组...
  • def renames(old, new): head, tail = path.split(new) if head and tail and not ... rename(old, new) head, tail = path.split(old) if head and tail: try: removedirs(head) except OSError: pass
  • Pandas是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。...本文主要介绍一下Pandaspandas.DataFrame.rename方法使用。 原文地址:Python pandas.DataFrame.rename函数方法使用 ...
  • os是python中比较常用的模块,特别是 布置到服务器的代码,运行环境比较重要。 有一个参考网站,资料比较全面:http://www.runoob.com/python/os-file-methods.html 1、os.getcwd() 获取当前工作目录.getcwd() 获取...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 25,900
精华内容 10,360
关键字:

python中rename的用法

python 订阅