Python Pandas Series.str.isspace()方法
Python是一种进行数据分析的伟大语言,主要是因为以数据为中心的Python软件包的奇妙生态系统。Pandas就是这些包中的一个,它使导入和分析数据变得更加容易。Pandas isspace()是一个字符串方法,它检查一个系列中的全空格字符,并只对这些元素返回True。因为它是一个字符串方法,所以每次在调用这个方法之前,_str _必须要有前缀。
语法: Series.str.isspace()
返回类型: Boolean Series
例子#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 occurred - {}'.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 occurred - 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