• python处理文本数据


    处理文本数据,主要是通过Seris的str访问。遇到NaN时不做任何处理,保留结果为NaN,遇到数字全部处理为NaN。

    str是Seris的方法,DataFrame不能直接使用,但是通过索引选择DataFrame中的某一行或者某一列,结果为Seris,然后就可以使用了。

    例如定义一个Seris和DataFrame如下

    s = pd.Series([' ab',1,' bb ',np.nan,'bc '])
    dic = {'one':[0,2,2,4],'two':[2,np.nan,4,6],'three':['a','b',np.nan,2]}
    df = pd.DataFrame(dic,index=['d','e','f','g'])

    将上述s全部变成大写字母,将df的列名称变成大写。

    s = s.str.upper()
    df.columns = df.columns.str.upper()

    以下都以Seris做示例,这些方法与python字符串的操作类似

    print(s.str.lower())   #将s中的各字符串全部变为小写
    print(s.str.upper())   #将s中的各字符串全部变为大写
    print(s.str.capitalize())   #将s中的各字符串全部变为首字母大写
    print(s.str.len())    #求s中各字符串的长度
    print(s.str.count('b'))   #求s中的各字符串元素包含几个b
    print(s.str.startswith('a'))   #判断s中的各字符串是否以a开始
    print(s.str.endswith('a'))   #判断s中的各字符串是否以a结束
    print(s.str.contains('b'))  #判断s中的各字符串是否包含b
    print(s.str.strip())   #去掉s中字符串元素两边的空格
    print(s.str.lstrip())   #去掉s中字符串元素左边的空格
    print(s.str.rstrip())   #去掉s中字符串元素右边的空格
    print(s.str.replace('原字符','替换字符',1))  #将原字符串替换为指定字符串,默认替换所有满足条件的,n表示替换前n个满足条件的

    split()和rsplit()

    split()表示从左边开始分割,rsplit()表示从右边分割,分割后的结构为一个列表

    s = pd.Series(['a,b,c,d',np.nan,['a..c'],'1,2,3'])
    print(s.str.split(','))   #对Seris中的元素按照,分割,即对'a,b,c'、np.nan、['a..c']、'1,2,3'按照,分割
    print(s.str.split(',').str[0])   #获取每个元素分割后的第一个值,分割后的结果也为Seris,也需要通过str来获取每个元素
    print(s.str.split(',',expand=True,n=1))  #expand为True表示将原列按照分割符拆分为㢵列,n表示拆分次数,默认不拆分,如果拆分默认拆分最多次
    # 0    [a, b, c, d]
    # 1             NaN
    # 2             NaN
    # 3       [1, 2, 3]
    # dtype: object
    # 0      a
    # 1    NaN
    # 2    NaN
    # 3      1
    # dtype: object
    #      0      1
    # 0    a  b,c,d
    # 1  NaN    NaN
    # 2  NaN    NaN
    # 3    1    2,3
  • 相关阅读:
    jeecg团队招新人(5人)
    编程之美2.14 求数组的子数组之和的最大值
    使用VS连接SQLServe时提示未能载入文件或程序集“System.Data.OracleClient, Version=2.0.0.0, Culture=neutral, PublicKey
    Drupal 7.31 SQL注入漏洞利用具体解释及EXP
    linux下mysql开启慢查询
    答大二学生:坚持正确方向,改变学习方式
    JavaWeb-10(会话技术之session&JSP)
    Java内存区域分析
    Linux系统编程——进程间通信:命名管道(FIFO)
    学科、专业目录_各类名单_中国学位与研究生教育信息网
  • 原文地址:https://www.cnblogs.com/Forever77/p/11266953.html
Copyright © 2020-2023  润新知