13-字符串操作--数据分析

字符串操作

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

字符串转换为小写

In [2]:
s.str.lower()
Out[2]:
0       a
1       b
2       c
3    gaer
4    gaer
5     NaN
dtype: object

字符串转换为大写

In [3]:
s.str.upper()
Out[3]:
0       A
1       B
2       C
3    GAER
4    GAER
5     NaN
dtype: object

字符串长度

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

str.strip() 去除字符串空格

In [5]:
index = pd.Index(['  tang','  shi   ','banshou    '])
index
Out[5]:
Index(['  tang', '  shi   ', 'banshou    '], dtype='object')
In [6]:
 
           
index.str.strip()
Out[6]:
Index(['tang', 'shi', 'banshou'], dtype='object')
In [7]:
 
           
index.str.lstrip()
Out[7]:
Index(['tang', 'shi   ', 'banshou    '], dtype='object')
In [8]:
 
           
index.str.rstrip()
Out[8]:
Index(['  tang', '  shi', 'banshou'], dtype='object')
In [10]:
df = pd.DataFrame(np.random.randn(3,2),columns=['A a','B b'],index = range(3))
df
Out[10]:
  A a B b
0 0.139043 -1.037331
1 -1.979181 -0.115217
2 -0.702036 1.593989

str.replace(' ','_' ) 将某个名字用字符串替换

  • 下面用 _ 替换Aa 为A_a
In [13]:
 
           
df.columns = df.columns.str.replace(' ','_')
df
Out[13]:
  A_a B_b
0 0.139043 -1.037331
1 -1.979181 -0.115217
2 -0.702036 1.593989

字符串切分 .str.split()

In [14]:
s = pd.Series(['a_b_c','c_d_e','f_g_h'])
s
Out[14]:
0    a_b_c
1    c_d_e
2    f_g_h
dtype: object
In [15]:
 
           
s.str.split('_')
Out[15]:
0    [a, b, c]
1    [c, d, e]
2    [f, g, h]
dtype: object

切割后用新值显示

In [17]:
s.str.split('_',expand = True)
Out[17]:
  0 1 2
0 a b c
1 c d e
2 f g h
In [19]:
s = pd.Series(['A','Aas','Afgew','Ager','Agre','Ager'])
s
Out[19]:
0        A
1      Aas
2    Afgew
3     Ager
4     Agre
5     Ager
dtype: object

str.contains('Aas') 判断数据中是否包含某个字符串

In [20]:
 
           
s.str.contains('Aas')
Out[20]:
0    False
1     True
2    False
3    False
4    False
5    False
dtype: bool

Series.str.get_dummies(sep=’|’)分割字符串并返回各个字符的复杂矩阵

In [21]:
s = pd.Series(['a','a|b','a|c'])
s
Out[21]:
0      a
1    a|b
2    a|c
dtype: object
In [22]:
 
           
s.str.get_dummies(sep = '|')
Out[22]:
  a b c
0 1 0 0
1 1 1 0
2 1 0 1
In [ ]:

猜你喜欢

转载自blog.csdn.net/m0_38039437/article/details/80769609