使用Pandas在Python中进行数据操作
在机器学习中,模型需要一个数据集来操作,即训练和测试。但数据并不是完全准备好的,可以使用的。在许多行和列中存在着像 “Nan”/”Null”/”NA “值这样的差异。有时,数据集还包含一些在我们的模型操作中甚至不需要的行和列。在这种情况下,需要对数据集进行适当的清理和修改,使其成为我们模型的有效输入。在将数据输入到模型之前,我们通过练习 “数据处理 “来实现这一目标。
好的,那么让我们深入到编程部分。我们的第一个目标是在Python中创建一个Pandas数据框,正如你可能知道的,Pandas是Python中最常用的库之一。
示例:
# importing the pandas library
import pandas as pd
# creating a dataframe object
student_register = pd.DataFrame()
# assigning values to the
# rows and columns of the
# dataframe
student_register['Name'] = ['Abhijit',
'Smriti',
'Akash',
'Roshni']
student_register['Age'] = [20, 19, 20, 14]
student_register['Student'] = [False, True,
True, False]
student_register
输出:
正如你所看到的,这个数据框架对象有四行[0, 1, 2, 3]和三列[“姓名”, “年龄”, “学生”]。包含索引值的那一列,即[0, 1, 2, 3]被称为索引列,它是pandas数据图中的一个默认部分。我们也可以根据我们的要求来改变它,因为Python很强大。
接下来,由于某种原因,我们想在数据报中添加一个新的学生,即你想在你现有的数据框架中添加一个新的行,这可以通过以下代码片断实现。
一个重要的概念是,Python的 “数据框架 “对象由行组成,而这些行是 “系列 “对象,堆在一起形成一个表。因此,增加一个新的行意味着创建一个新的系列对象并将其追加到数据框架中。
示例:
# creating a new pandas
# series object
new_person = pd.Series(['Mansi', 19, True],
index = ['Name', 'Age',
'Student'])
# using the .append() function
# to add that row to the dataframe
student_register.append(new_person, ignore_index = True)
输出:
在处理和处理任何数据之前,你需要得到它的总体概况,其中包括统计结论,如标准差(std),平均值和它的四分位数分布。此外,你还需要知道每一列的确切信息,即它存储的是什么类型的值,其中有多少是唯一的。有三个支持函数:.shape、.info()和.describe(),它们分别输出表格的形状、行和列的信息以及数据框架的统计信息(仅数字列)。
示例:
# for showing the dimension
# of the dataframe
print('Shape')
print(student_register.shape)
# showing info about the data
print("\n\nInfo\n")
student_register.info()
# for showing the statistical
# info of the dataframe
print("\n\nDescribe")
student_register.describe()
输出:
在上面的例子中,.shape函数给出了一个输出(4,3),因为那是创建的数据框架的大小。
.info()方法所给出的输出描述如下:
1.”RangeIndex “描述的是索引列,即我们数据报中的[0, 1, 2, 3]。这是在我们的数据框架中的行数。
2.顾名思义,”数据列 “给出了输出的总列数。
3.”姓名”、”年龄”、”学生 “是我们数据中的列名,”非空 “告诉我们,在相应的列中,没有NA/Nan/None值存在。”object”、”int64 “和 “bool “是各列的数据类型。
4.”dtype “让你了解数据报中存在多少种数据类型,这在术语上简化了数据清理过程。
另外,在高端机器学习模型中,”内存使用 “是一个重要的术语,我们不能忽视这一点。
.describe()方法所给出的输出描述如下:
1.count是指数据框架中的行数。
2.平均值是 “年龄 “栏中所有条目的平均值。
3.std是相应列的标准偏差。
4.min和max分别为该列的最小和最大条目。
25%、50%和75%分别是第一四分位数、第二四分位数(中位数)和第三四分位数,这给我们提供了关于数据集分布的重要信息,使应用ML模型更加简单。