一、NAN Data
1.
np.array.any()是或操作,任意一个元素为True,输出为True。
np.array.all()是与操作,所有元素为True,输出为True
arr1 = np.array([0,1,2,3])
print(arr1.any()) # True
print(arr1.all()) # False
arr2 = np.array([True,True,True])
print(arr2.any()) # True
print(arr2.all()) # True
2.
pd.isna()
检测数组对象缺失值,如果是Nan、None返回Ture
pd.isna(np.nan)
Out[29]: True
pd.isna(None)
Out[31]: True
3、例子 提取出含Nan的列
nan_columns = np.any(pd.isna(numeric_data), axis = 0)
# pd.isna(numeric_data) 判断numeric_data数据中含有None的项,是None返回Ture,否则 Flase
# np.any(pd.isna(numeric_data), axis = 0) 或操作,在列维度,如果有None,即pd.isna(numeric_data)有Ture,返回Ture
# 即有None的列,返回Ture,全部都非空,则返回False
nan_columns = list(nan_columns[nan_columns == True].index)
# 提取出含Nan的列
# nan_columns == True:这部分代码将会返回一个布尔值的Series或DataFrame,其中的每个元素都表示对应位置上的值是否等于True。如果某个位置的值等于True,那么对应位置的布尔值为True,否则为False。
# nan_columns[nan_columns == True]:这部分代码使用布尔索引,从nan_columns中选择那些值为True的元素。这将返回一个新的Series或DataFrame,其中只包含那些值为True的元素。
# list(nan_columns[nan_columns == True].index):最后一步将返回一个列表,其中包含了那些值为True的元素的索引。.index用于获取这些元素的索引,然后使用list()将其转换为列表。
# 注意:nan_columns[nan_columns == True] 只包含那些值为True的元素
Series由两部分组成:索引和值。索引是用于标识每个元素的标签,而值则是存储在Series中的实际数据。索引可以是整数、字符串或其他数据类型,而值可以是任何数据类型,包括数字、字符串、布尔值等。
可以将Series看作是一个类似于字典的数据结构,其中索引index充当了字典中的键,而值valus则充当了字典中的值。不同之处在于,Series是有序的,而字典是无序的。
可以将DataFrame看作是由多个Series对象组成的字典,其中每个Series代表一列数据,而字典的键则是列名