百度百科:
pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。
Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。
pandas提供了大量能使我们快速便捷地处理数据的函数和方法。
你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。
用途:Python数据分析模块
针对某些缺失的数据,我们要做的是
找出这些数据—》处理
找出设置并找出缺失值
## 引入包 import numpy as np import pandas as pd from pandas import Series,DataFrame ## 设置含有缺失项的数据 missing = np.nan series_obj = Series(['a','b',missing,'d','e','f',missing,'h']) series_obj ## 判断空值 # object_name.isnull() # .isnull()方法返回True/False布尔值,指示Pandas对象中的元素是否为空值。 # 返回新的对象,由True和Fals组成 series_obj.isnull() 处理创建含缺失值的实例对象
# 随机种子 np.random.seed(25) df_obj = DataFrame(np.random.randn(36).reshape(6,6)) # rshape 设置行列数 df_obj # 手动设置缺失值 df_obj.iloc[3:5,0] = missing # 设置第2行第三行,第五列 df_obj.iloc[1:4,5] = missing df_obj处理缺失值
方式1 # object_name.fillna(numeric value) # .fillna()方法从Pandas对象中查找每个缺少的值,并用传入的数值进行填充 filled_df = df_obj.fillna(0) filled_df 方式2 # object_name.fillna(dict) # 可以将字典传递给.fillna()方法。 然后,该方法将填充每个列(由字典键指定)中的缺失值(在相应的字典值中指定)。 # 字典传入缺失的地方值 filled_df = df_obj.fillna({0:0.1,5:1.25}) filled_df 方式3 # object_name.fillna(method ='ffill') # 当使用参数method ='ffill'时,.fillna()方法将使用列前排非空元素的值来填充缺少的值 filled_df = df_obj.fillna(method = 'ffill') filled_df注意:
这里的索引整数切片遵循左开右闭的规则,即左边边界的能取到,右边边界取不到
这里的索引是从0开始的(2对应的第三行可以取到,5对应的第6行取不到)
与标量值比较 # object_name < 标量值 # 您可以使用比较运算符(例如 > 或 < )对所有记录返回True/False值,表示每个元素与标量值的比较结果。 df_obj<0.2 # 得到结果 col1 col2 col3 col4 col5 col6 row1 False False False True False True row2 False False False False False True row3 False False True False False False row4 False False False False False False row5 False False True False False False row6 False False False False False False 使用标量值进行筛选 # object_name[object_name > 标量值] # 也可以使用比较运算符和标量值进行索引,仅返回满足比较表达式结果的记录。 # 创造数据 series_num = Series(np.arange(0,8),index=['行 1', '行 2', '行 3', '行 4', '行 5', '行 6','行 7','行 8']) # 选出来满足表达式的行 series_num[series_num>6] 使用标量赋值 实现指定位置赋值 # ['标签索引', '标签索引', '标签索引'] = 标量值 # 可以选择与指定标签索引关联的所有记录,将这些值设置为等于一个标量值即可完成赋值。 series_num[['行 1','行 5', '行 8']] = 0 series_num