Python数据分析入门日记Day10
——Pandas库:实现数据库查询操作
今天学习用数据分析库Pandas来实现SQL操作,SQL实际上就是结构化查询语言的缩写,在SQL中常见的操作有四种:增、删、改、查,这四项工作用Pandas也是可以实现的。首先,还是导入之前一直利用的数据集“职工信息.xlsx”。
1、增
顾名思义“增”的意思就是添加新的行或列。
(1)首先,用字典的方式创建两行新的职工信息,数据中包含两名新职工的姓名、性别、年龄、收入等信息。
(2)将新增的两名职工信息数据转化成数据框形式,赋值给data2:
(3)pd.concat()
Pandas库中的.concat()函数用来连接两个数据框,输入代码如下:
由输出结果(截取部分)看出,新增的两名职工信息已经被添加到原来的职工信息表的最后两行:
发现在Pandas中对两个Dataframe进行拼接,拼接过程中两个数据框中的变量会自动对齐。
(3)按列对两个数据框进行拼接
对原有数据框data新增一列考核分数“Score”变量。
2、删
“删”就对已有数据进行删除表、行或列的操作。
(1)通常用“del”来删除Python中的一些对象。比如,删除数据框data2,输入以下代码:
再去查看data2时,就会出现报错,说明data2已经被删除了。
(2).drop():删除指定行
若想要删除数据中的第3行、第5行、第8行,利用.drop()函数,“( )”中输入所要删除行的索引值,输出结果如下:
发现索引值为2、4、7的数据信息所在行已经被删除完成了。
(3)利用布尔索引对数据信息进行删除
关于布尔索引,在近期的学习中总是碰到,如果想要删除数据中年龄“Age”50岁以下的员工信息,执行以下代码并查看结果,发现只剩下50岁以上的员工信息。
(4)删除指定列
想要对指定的列变量信息进行删除,依旧利用.drop()函数,在其参数中添加“axis=1”,旨在按列删除数据信息,并用.head()函数查看数据的前五行。加入需要删除收入“sr”和支出“zc”这两列信息。
3、改
“改”的作用就是修改原始数据的值,可以通过布尔索引或赋值的方法对原始数据进行修改。通过布尔索引对行标签进行提取,比如要修改员工“Ovaltine”的收入,输入以下代码:
运行并查看结果,发现Ovaltine的工资已经发生了改变:
4、查:数据查询
(1)聚合
Pandas库中通过.groupby()函数实现聚合,如果需要按职工性别分组对他们的年龄、收入等信息的均值进行计算。
可以看出,女性员工的平均年龄在43岁,平均收入在2882元,男性职工的平均年龄在47岁,平均收入在935元。
如果我们不需要分析年龄的平均值信息,在进行分组时,可以对年龄“Age”这一变量进行剔除,然后输出结果就会变成:
如果想要用年龄和性别分组,分析收入、支出等信息的均值,则通过以下操作实现:
按照输出结果,可以得到41岁的女性平均收入为824元,男性平均收入为845元等信息。
不研究年龄,研究性别对其他因素均值及中位数的影响差异,输入以下代码:
可以看出,性别差异对收入的均值的影响较大。男女职工的收入差异较为明显。
(2)排序
如果需要对数据根据某一变量进行重新排序,利用.sort_values()函数。首先,随机生成1~49中的10个数字,构成序列s。
利用.sort_values()函数对这10个数字进行重新排序,默认为升序,输出结果:
若需要对随机数进行降序排序,则在函数后增加“ascending=False”参数。
那么,在实际数据中,需要按照职工年龄对数据进行排序,做如下操作:
(3)多表连接
首先,创建一个职工考核分数表,并将其转化为数据框形式:
接下来,需要对这五名职工的分数和他们另外的信息进行关联,利用pd.merge()函数,后跟两个数据框名,on=“Name”旨在按职工姓名进行拼接。结果如下:
发现只有表data和表score中共有的职工才会被返回。另外,两个数据框的拼接有左连接和右连接,分别在pd.merge()函数后跟连接方式“how=left”或“how=right”。
当利用左连接时,职工的考核分数“Score”直接被接到了职工信息表的最后一列。返回的是所有职工的信息,分数表score中没有分数的员工也被返回了。
当进行右连接时,发现只有表data和表score中共有的职工才会被返回。
今天关于数据集分析库Pandas中数据库查询操作的学习笔记告一段落,个人认为在Python中利用Pandas库对数据进行增、删、改、查的操作比在Excel和数据库中输入函数或者敲一大段代码来得更简便和直观。
Python数据分析日记的内容过半,非常感谢大家的喜爱与支持,在剩下的日子里,我还是会努力努力再努力,交出更好的作业!如果您有什么好的意见和建议,欢迎交流指点哦,早安!
Ovaltine
领取专属 10元无门槛券
私享最新 技术干货