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

原文:https://www . geesforgeks . org/python-pandas-series-str-isspace-method/

Python 是进行数据分析的优秀语言,主要是因为以数据为中心的 Python 包的奇妙生态系统。熊猫就是其中之一,它让数据的导入和分析变得更加容易。

熊猫 isspace() 是一个字符串方法,它检查一个序列中的全空格字符,并且只为那些元素返回真。由于它是一个字符串方法, 字符串 必须在每次调用这个方法之前加上前缀。

语法:Series . str . isspace() T3】返回类型:布尔系列

示例#1: 在此示例中,使用 Pandas 从 python 列表中制作了一个系列。Series()方法。默认情况下,该序列是一个字符串序列,其中一些元素为全空格。对序列调用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,这样该方法才能工作。使用熊猫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()方法。因为所有的值都是数字,而不是全空格,所以所有的值都返回 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