📜  Python| Pandas Series.str.isspace() 方法

📅  最后修改于: 2022-05-13 01:54:39.899000             🧑  作者: Mango

Python| Pandas Series.str.isspace() 方法

Python是一种用于进行数据分析的出色语言,主要是因为以数据为中心的Python包的奇妙生态系统。 Pandas 就是其中之一,它使导入和分析数据变得更加容易。

Pandas isspace()是一个字符串方法,它检查一系列中的所有空格字符,并仅对这些元素返回 True。由于是字符串方法,所以每次调用该方法前都要加上str前缀。

示例 #1:
在此示例中,使用 Pandas .Series() 方法从Python列表创建一个系列。默认情况下,该系列是一个字符串系列,其中一些元素为 All-space。在系列上调用str.isspace()方法并将结果存储在变量 result1 中并显示。

# importing pandas module  
import pandas as pd  
    
# importing numpy module 
import numpy as np 
    
# creating series 1 
series1 = pd.Series(['a', 'b', '  ', ' c ', 'd', '  ', np.nan]) 
  
# checking for all space elements in series1
result1 = series1.str.isspace()
  
# display
print('Series 1 results:\n\n', result1)

输出:
如输出所示,只要对应元素为 All-space,则返回 True,否则返回 False。还可以看出,系列中的最后一个元素是np.nan ,因此输出也是 NaN。

Series 1 results:

 0    False
1    False
2     True
3    False
4    False
5     True
6      NaN
dtype: object


示例 #2:使用.astype()处理错误和转换系列

因为这是一种仅适用于字符串系列的字符串方法。将其应用于数值系列会返回值错误。因此,必须将系列的数据类型转换为 str 才能使此方法起作用。系列的数据类型使用 Pandas astype()转换。

# importing pandas module  
import pandas as pd  
    
# creating series 2 
series2 = pd.Series([1, 2, 3, 10, 2]) 
  
# try except for series2
# since series 2 is a numeric series
try:
    result2 = series2.str.isspace()
    print('Series 2 results: \n\n', result2)
  
except Exception as e:
      
    # printing error in
    print('\nError occured - {}'.format(e))
      
    # new result by first converting to string series
    # using .astype()
    result2 = series2.astype(str).str.isspace()
      
    # printing results
    print('\nSeries 2 results: \n\n', result2)

输出:
可以看出,对数值系列调用此方法会返回值错误。需要使用 .astype() 方法将数据转换为 str 。由于所有值都是数字而不是全空格,因此所有值都返回 False。

Error occured - Can only use .str accessor with string values, 
which use np.object_ dtype in pandas

Series 2 results: 

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