zoukankan      html  css  js  c++  java
  • Datawhale

    一,先有个整体的概念:

      这一章是关于文本数据,以前在EXCEL里,文本类型就是string字符串,所以这里也先介绍下string,因为和object很像,也很容易出错,所以对比着介绍的;接下来是string的一系列操作:拆分和拼接(以前只知道拼接是“+”);string的替换;子串匹配和提取。

    二、string类型

    1、string 和 object的区别

    ① 字符存取方法(string accessor methods,如str.count)会返回相应数据的Nullable类型,而object会随缺失值的存在而改变返回类型

    ② 某些Series方法不能在string上使用,例如: Series.str.decode(),因为存储的是字符串而不是字节

    ③ string类型在缺失值存储或运算时,类型会广播为pd.NA,而不是浮点型np.nan

     2、string的转换,需要先别的类型转为str 型 object, 再转为string 类型。

    三、拆分和拼接

    1、str.split 方法

    s = pd.Series(['a_b_c', 'c_d_e', np.nan, 'f_g_h'], dtype="string")
    s.str.split('_')
    
    0    [a, b, c]
    1    [c, d, e]
    2         <NA>
    3    [f, g, h]

    Note:split后的类型是object,因为现在Series中的元素已经不是string,而包含了list,且string类型只能含有字符串;对于str方法可以进行元素的选择,如果该单元格元素是列表,那么str[i]表示取出第i个元素,如果是单个元素,则先把元素转为列表在取出;expand参数控制了是否将列拆开,n参数代表最多分割多少次。

    2、str.cat 方法

    但是,这里:对于两个Series合并而言,是对应索引的元素进行合并。不太理解。

    三、替换

    替换不可避免要用正则表达式,简单的会,难得还不会。

    广义上的替换,就是指str.replace函数的应用,fillna是针对缺失值的替换。

    s = pd.Series(['A', 'B', 'C', 'Aaba', 'Baca','', np.nan, 'CABA', 'dog', 'cat'],dtype="string")
    

     

     四、子串匹配与提取

    1、str.extract 方法

    pd.Series(['10-87', '10-88', '10-89'],dtype="string").str.extract(r'([d]{2})-([d]{2})')
    

    2、 str.extractall 方法

    与extract只匹配第一个符合条件的表达式不同,extractall会找出所有符合条件的字符串,并建立多级索引(即使只找到一个)

    3. str.contains和str.match

     五,练习

     

  • 相关阅读:
    【VUE】父子组件通信
    【mysql】密码重设
    Joomla 3.2.0
    浅谈内网渗透
    使用Fiddler的X5S插件查找XSS漏洞
    Asp文件锁定脚本
    php内网探测脚本&简单代理访问
    Linux关闭休眠和屏保模式
    不重启修改计算机名【批处理】
    mimikatz不反弹读取密码
  • 原文地址:https://www.cnblogs.com/haiyanli/p/13196912.html
Copyright © 2011-2022 走看看