我们先通过一个示例来看一下Numpy的作用:
通过示例我们可以看到,相比较于普通列表的乘2只是重复两次相同数据,导入Numpy模块后, 其元素会是真正数学意义上的乘二。因为Numpy数组是专门为支持数字数据的数学运算而设计的,这使得它们对于数据分析比一般列表更有用。
我们通过类型还注意到,Numpy数组的类型是numpy.ndarry。nd表示这是一个可以由多个维度组成的结构。(它可以有n个维度)
接下来我们看一下一些常用方法:
定义一个二维数组:
Exploring tabular data with Pandas
Numpy提供了许多处理数字所需的功能和工具,例如数值数组。但是,当你开始处理二维数据表时,Pandas包提供了一个更方便的结构:DataFrame。
在指定的列之外,DataFrame还包括唯一标识每一行的索引。我们可以显示地指定索引并分配任何类型的适当值(例如,电子邮件地址)。但是,因为我们没有指定索引,所以为每一行创建了一个唯一的整数值。
在DataFrame中查找和过滤数据
Loading a DataFrame from a file
DataFrame的读取_CSV方法用于从文本文件加载数据。如同示例,我们可以指定诸如分隔符和哪一行(如果有)包含列标题之类的选项。(在本例中,分隔符是逗号,第一行包含列名称。这些是默认设置,因此我们可以省略这些参数。)
Handling missing values
我们可以使用 isnull 方法去认证哪个个体值为空
对于较大的DataFrame,单独查看所有行和列将是低效的,因此我们可以像这样获得每个列的缺失值的总和。
现在我们知道少了一个StudyHours值和两个Grade值。
为了在上下文中查看它们,我们可以过滤DataFrame使其仅包含有缺失值的行。
检查DataFrame时,缺少的值显示为Nan(不是数字)。
现在我们已经找到了空值,我们可以对它们做些什么呢?
一种常见的方法是估算重置价值。例如,如果缺少学习小时数,我们可以假设学生学习的平均时间,并用平均学习小时数替换缺失值。要做到这一点,我们可以使用Fillna方法:
或者,确保您只使用您知道绝对正确的数据可能很重要。在这种情况下,可以使用dropna方法删除包含空值的行或列。例如,我们将删除任何列包含空值的行(DataFrame的轴0):
Explore data in the DataFrame
现在我们已经清理了丢失的值,我们准备好探索DataFrame中的数据。让我们从比较平均学习时间和成绩开始。
Average weekly study hours: 10.52
Average grade: 49.18
让我们过滤DataFrame,只查找学习时间超过平均时间的学生。
请注意,过滤后的结果本身就是一个DataFrame,因此您可以像处理任何其他DataFrame一样处理它的列。
例如,让我们找出平均学习时间超过平均学习时间的学生的平均成绩。
让我们假设这门课的及格分数是60分。
我们可以使用该信息向DataFrame添加一个新列,以指示每个学生是否通过考试。
首先,我们将创建一个包含通过/失败指示符(True或False)的PandasSeries,然后将该系列连接为DataFrame中的新列(轴1)。
DataFrame是为表格数据设计的,您可以使用它们来执行许多与关系数据库中相同类型的数据分析操作,例如对数据表进行分组和聚合。
例如,您可以使用groupby方法根据先前添加的Pass列将学生数据分组,并计算每个组中的姓名数。换句话说,你可以确定有多少学生通过和失败。
您可以使用任何可用的聚合函数将多个字段聚合到一个组中。例如,您可以查找通过和未通过课程的学生组的平均学习时间和成绩。
DataFrames是惊人的通用,使其易于操作数据。许多DataFrame操作都会返回DataFrame的新副本,因此如果要修改DataFrame但保留现有变量,则需要将操作结果赋给现有变量。例如,下面的代码将学生数据按年级降序排序,并将得到的排序后的DataFrame赋给原始的df_students变量。
标签:例如,浏览,数据,可以,DataFrame,Pandas,Numpy,我们 From: https://blog.csdn.net/2301_79805249/article/details/144450073