• 3-12 字符串操作


    In [1]:
    import pandas as pd
    import numpy as np
    s=pd.Series(['A','b','B','gaer','AGER',np.nan])
    s
    
    Out[1]:
    0       A
    1       b
    2       B
    3    gaer
    4    AGER
    5     NaN
    dtype: object
     

    1.大小写转换

    In [2]:
    s.str.lower()#大写转小写
    
    Out[2]:
    0       a
    1       b
    2       b
    3    gaer
    4    ager
    5     NaN
    dtype: object
    In [3]:
    s.str.upper()#小写转大写
    
    Out[3]:
    0       A
    1       B
    2       B
    3    GAER
    4    AGER
    5     NaN
    dtype: object
     

    2.计算字符串的长度

    In [4]:
    s.str.len()
    
    Out[4]:
    0    1.0
    1    1.0
    2    1.0
    3    4.0
    4    4.0
    5    NaN
    dtype: float64
     

    3.删除字符串里的空格

    In [5]:
    index=pd.Index(['  tang ','  yu ','  di '])
    index
    
    Out[5]:
    Index(['  tang ', '  yu ', '  di '], dtype='object')
    In [6]:
    index.str.strip()#删除字符串里的空格
    
    Out[6]:
    Index(['tang', 'yu', 'di'], dtype='object')
    In [7]:
    index.str.lstrip()#删除左边空格
    
    Out[7]:
    Index(['tang ', 'yu ', 'di '], dtype='object')
    In [8]:
    index.str.rstrip()#删除右边空格
    
    Out[8]:
    Index(['  tang', '  yu', '  di'], dtype='object')
     

    4.改变DataFrame名称

    In [9]:
    df=pd.DataFrame(np.random.randn(3,2),columns=['A a','B b'],index=range(3))
    df
    
    Out[9]:
     
     A aB b
    0 -1.587250 -0.362449
    1 0.179732 0.197893
    2 -0.115557 0.378154
    In [10]:
    df.columns=df.columns.str.replace(' ','_')#空格替换成 "_"
    df
    
    Out[10]:
     
     A_aB_b
    0 -1.587250 -0.362449
    1 0.179732 0.197893
    2 -0.115557 0.378154
     

    5.用分隔符删除

    In [11]:
    s=pd.Series(['a_b_C','c_d_e','f_g_h'])
    s
    
    Out[11]:
    0    a_b_C
    1    c_d_e
    2    f_g_h
    dtype: object
    In [12]:
    s.str.split('_')#用分隔符删除,变成list结构
    
    Out[12]:
    0    [a, b, C]
    1    [c, d, e]
    2    [f, g, h]
    dtype: object
     

    6.切分数据

    In [13]:
    s.str.split('_',expand=True)#把数据全部分开
    
    Out[13]:
     
     012
    0 a b C
    1 c d e
    2 f g h
    In [14]:
    s.str.split('_',expand=True,n=1)#把数据切分一次
    
    Out[14]:
     
     01
    0 a b_C
    1 c d_e
    2 f g_h
    In [15]:
    s.str.split('_',expand=True,n=2)#把数据切分两次
    
    Out[15]:
     
     012
    0 a b C
    1 c d e
    2 f g h
    In [16]:
    s=pd.Series(['A','Aas','Asjfds','Ajdd','Adhee'])
    s
    
    Out[16]:
    0         A
    1       Aas
    2    Asjfds
    3      Ajdd
    4     Adhee
    dtype: object
    In [17]:
    s.str.contains('Aa')#判断Aa 是否存在
    
    Out[17]:
    0    False
    1     True
    2    False
    3    False
    4    False
    dtype: bool
     

    7.查询分隔符的位置

    In [18]:
    s=pd.Series(['a','a|b','a|c'])
    s
    
    Out[18]:
    0      a
    1    a|b
    2    a|c
    dtype: object
    In [19]:
    s.str.get_dummies(sep='|')#查询分隔符的位置
    
    Out[19]:
     
     abc
    0 1 0 0
    1 1 1 0
    2 1 0 1
  • 相关阅读:
    多线程的多核分配问题验证
    C++C#联合调试
    UNITY 手游(安卓)如何使用C/C++代码
    关于C#内存释放的BUG?
    日期转换
    深度剖析目标检测算法YOLOV4
    2. 使用Shell能做什么
    【Jmeter】之进行接口批量压力测试
    MongoDB-ChangeStream使用笔记
    Mongo-BI(bi-connector)配置使用笔记
  • 原文地址:https://www.cnblogs.com/AI-robort/p/11678971.html
Copyright © 2020-2023  润新知