求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Modeler   Code  
会员   
要资料
 
追随技术信仰

随时听讲座
每天看新闻
 
 
Pandas 教程
1. Pandas 是什么
2.Pandas库下载和安装
3.Pandas Series入门教程
4.Pandas DataFrame入门教程
5.Pandas Panel三维数据结构
6.Python Pandas描述性统计
7.Pandas使用自定义函数
8.Pandas reindex重置索引
9.Pandas iteration遍历
10.Pandas sorting排序
11.Pandas去重函数:drop_duplicates()
12.Python Pandas处理字符串(方法详解)
13.Pandas设置数据显示格式
14.Pandas loc/iloc用法详解
15.Python Pandas统计函数
16.Python Pandas窗口函数
17.Python Pandas聚合函数
18.Python Pandas缺失值处理
19.Pandas groupby分组操作详解
20.Pandas merge合并操作
21.Pandas concat连接操作
22.Python Pandas时间序列
23.Pandas日期时间格式化
24.Padans Timedelta时间差
25.Pandas随机选择样本
26.Pandas数据重采样
27.Python Pandas分类对象
28.Python Pandas绘图
29.Python Pandas读取文件
30.Pandas csv读写文件
31.Pandas Excel读写操作
32.Pandas index操作索引
33.Pandas分层索引入门教程
34.Pandas执行SQL操作
35.Pandas和NumPy的比较
36.Pandas使用的注意事项
 

 
Python Pandas处理字符串(方法详解)
42 次浏览
1次  

Pandas 提供了一系列的字符串函数,因此能够很方便地对字符串进行处理。在本节,我们使用 Series 对象对常用的字符串函数进行讲解。

常用的字符串处理函数如下表所示:

函数名称 函数功能和描述
lower() 将的字符串转换为小写。
upper() 将的字符串转换为大写。
len() 得出字符串的长度。
strip() 去除字符串两边的空格(包含换行符)。
split() 用指定的分割符分割字符串。
cat(sep="") 用给定的分隔符连接字符串元素。
get_dummies() 返回一个带有独热编码值的 DataFrame 结构。
contains(pattern) 如果子字符串包含在元素中,则为每个元素返回一个布尔值 True,否则为 False。
replace(a,b) 将值 a 替换为值 b。
count(pattern) 返回每个字符串元素出现的次数。
startswith(pattern) 如果 Series 中的元素以指定的字符串开头,则返回 True。
endswith(pattern) 如果 Series 中的元素以指定的字符串结尾,则返回 True。
findall(pattern) 以列表的形式返出现的字符串。
swapcase() 交换大小写。
islower() 返回布尔值,检查 Series 中组成每个字符串的所有字符是否都为小写。
issupper() 返回布尔值,检查 Series 中组成每个字符串的所有字符是否都为大写。
isnumeric() 返回布尔值,检查 Series 中组成每个字符串的所有字符是否都为数字。
repeat(value) 以指定的次数重复每个元素。
find(pattern) 返回字符串第一次出现的索引位置。

注意:上述所有字符串函数全部适用于 DataFrame 对象,同时也可以与 Python 内置的字符串函数一起使用,这些函数在处理 Series/DataFrame 对象的时候会自动忽略缺失值数据(NaN)。

lower()

  1. import pandas as pd
  2. import numpy as np
  3. s = pd.Series(['C', 'Python', 'java', 'go', np.nan, '1125','javascript'])
  4. print(s.str.lower)

输出结果:

0             tom
1    william rick
2            john
3         alber@t
4             NaN
5            1234
6      stevesmith
dtype: object

len()

  1. import pandas as pd
  2. import numpy as np
  3. s = pd.Series(['C', 'Python', 'java', 'go', np.nan, '1125','javascript'])
  4. print(s.str.len())

输出结果:

0     1.0
1     6.0
2     4.0
3     2.0
4     NaN
5     4.0
6    10.0
dtype: float64

strip()

  1. import pandas as pd
  2. import numpy as np
  3. s = pd.Series(['C ', ' Python', 'java', 'go', np.nan, '1125 ','javascript'])
  4. print(s.str.strip())

输出结果:

0             C
1        Python
2          java
3            go
4           NaN
5          1125
6    javascript
dtype: object

split(pattern)

  1. import pandas as pd
  2. import numpy as np
  3. s = pd.Series(['C ',' Python','java','go','1125 ','javascript'])
  4. print(s.str.split(" "))

输出结果:

0           [C, ]
1      [, Python]
2          [java]
3            [go]
4        [1125, ]
5    [javascript]
dtype: object

cat(sep="")

  1. import pandas as pd
  2. import numpy as np
  3. s = pd.Series(['C', 'Python', 'java', 'go', np.nan, '1125','javascript'])
  4. #会自动忽略NaN
  5. print(s.str.cat(sep="_"))

输出结果

C_Python_java_go_1125_javascript


get_dummies()

  1. import pandas as pd
  2. import numpy as np
  3. s = pd.Series(['C', 'Python', 'java', 'go', np.nan, '1125','javascript'])
  4. print(s.str.get_dummies())

输出结果:

   1125  C  Python  go  java  javascript
0     0  1       0   0     0           0
1     0  0       1   0     0           0
2     0  0       0   0     1           0
3     0  0       0   1     0           0
4     0  0       0   0     0           0
5     1  0       0   0     0           0
6     0  0       0   0     0           1

contains()

检查 Series 中的每个字符,如果字符中包含空格,则返回 True,否则返回 False。

示例如下:

  1. import pandas as pd
  2. import numpy as np
  3. s = pd.Series(['C ',' Python','java','go','1125 ','javascript'])
  4. print(s.str.contains(" "))

输出结果:

0     True
1     True
2    False
3    False
4     True
5    False
dtype: bool

repeat()

  1. import pandas as pd
  2. import numpy as np
  3. s = pd.Series(['C ',' Python','java','go','1125 ','javascript'])
  4. print(s.str.repeat(3))

输出结果:

0                            C C C
1              Python Python Python
2                      javajavajava
3                            gogogo
4                   1125 1125 1125
5    javascriptjavascriptjavascript
dtype: object

startswith()

  1. import pandas as pd
  2. import numpy as np
  3. s = pd.Series(['C ',' Python','java','go','1125 ','javascript'])
  4. #若以指定的"j"开头则返回True
  5. print(s.str.startswith("j"))

输出结果:

0    False
1    False
2     True
3    False
4    False
5     True
dtype: bool

find()

  1. import pandas as pd
  2. import numpy as np
  3. s = pd.Series(['C ',' Python','java','go','1125 ','javascript'])
  4. print(s.str.find("j"))

输出结果:

0   -1
1   -1
2    0
3   -1
4   -1
5    0
dtype: int64

如果返回 -1 表示该字符串中没有出现指定的字符。


findall()

  1. import pandas as pd
  2. import numpy as np
  3. s = pd.Series(['C ',' Python','java','go','1125 ','javascript'])
  4. print(s.str.findall("j"))

输出结果:

0     []
1     []
2    [j]
3     []
4     []
5    [j]
dtype: object

swapcase()

  1. import pandas as pd
  2. import numpy as np
  3. s = pd.Series(['C ',' Python','java','go','1125 ','javascript'])
  4. print(s.str.swapcase())

输出结果:

0            c
1        pYTHON
2          JAVA
3            GO
4         1125
5    JAVASCRIPT
dtype: object

isnumeric()

返回一个布尔值,用来判断是否存在数字型字符串。示例如下:

  1. import pandas as pd
  2. import numpy as np
  3. s = pd.Series(['C ',' Python','java','go','1125','javascript'])
  4. print(s.str.isnumeric())

输出结果:

0    False
1    False
2    False
3    False
4     True
5    False
dtype: bool

 


您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码: 验证码,看不清楚?请点击刷新验证码 必填



42 次浏览
1次