2020-06-02 数据蛙题目一

题目


操作题目

1、如何查看python已安装的第三方库(有两种方法)

(1)在cmd里输入如下命令:pip list

pip list

(2)通过第三方库安装位置查看

a. 首先可以查看python安装位置:在cmd命令行里输入:where python

where python

b.在python安装路径的Lib\site-packages里查看已安装库:C:\Program Files (x86)\Anaconda3\Lib\site-packages


安装库路径

2、Mysql特定版本 group by 后用 * 出错 ,报错出现 Error 1055 应如何解决

这个问题没有遇到过,在网上查询据说原因为:在MySQL5.7之后,sql_mode中默认存在ONLY_FULL_GROUP_BY,SQL语句未通过ONLY_FULL_GROUP_BY语义检查所以报错。

便于理解大概是这样的:以SQL语句select columes from table group by list为例,columns必须是聚集函数或者在group by后的表达式list中,并且list中必须包含主键,否则也会报错。

如:SELECT name FROM customer GROUP BY `name`;该SQL执行成功,因为name包含在group by后的表达式中

  SELECT name, contact FROM customer GROUP BY `name`;该SQL执行失败,因为contact没有包含在group by后的表达式中

解决方案(永久解决):

(1)在MySQL下执行SELECT @@sql_mode语句

(2)将查询结果中的ONLY_FULL_GROUP_BY去掉然后复制,打开MySQL的配置文件,将sql_mode的值设置为复制的值(若没有sql_mode在[mysqld]下方添加一行即可)。

MySQL配置文件所在位置:

安装版可通过windows服务所对应mysql启动项,查看其对应属性->可执行文件路径,获取my.ini路径。

免安装版一般在其根目录下。(默认是my-default.ini,必须将名字改为my.ini才能生效)

(3)重启MySQL服务即可生效

MySQL

1、语句效率,子查询与连接后哪种效率更高?为什么?请写出具体例子。(以经典45道题为例)

一般来说连接查询效率会高于子查询,由于经典45题里数据量较小,时间上看不太出来,但应该是这个逻辑,以where后子查询为例

以第6题为例:

#6.查询学过「张三」老师授课的同学的信息

    1)使用子查询时,此时会将student表里的每一行数据的sid拿到IN后面的子查询里面去匹配,并且每次匹配都会执行一次后面的子查询,所以后面的子查询会执行count(sid)次

子查询实现

    2)使用join连接查询时,会将join后面的表执行一次然后作为一个新表b与student相连接,连接时只需要找出student表中与b表相同的sid即可,字表b只会执行一次,所以效率应该会高于上面的子查询

连接查询

2、left join 后的 on 条件1 and 条件2,与left join 后的 on 条件1 where 条件2,有什么区别?

    区别在:前者最后依然会返回left join左边表完整的数据,即使经过筛选后右表相应数据为null,

而后者在连接后再经过where条件筛选,将对左右表数据一起进行筛选,并不能保证左表数据的完整性

  python

一、存在一份生成的数据

问题:

1、该生成的数据索引列的格式类型是什么?(直接回答)

    datetime64

2、有哪些方式可以查看数据类型? 

    df.info()    df.dtypes     df['column'].dtype  type()

3、如何查看索引的数据类型? 

df.index

4、df.loc[‘2013-01-01’] 可以取出对应第一条数据吗?

可以

5、如果想要同时取 第一行和第三行数据,应该如何处理? 

隔行切片: df.iloc[[0,2]]

二、apply、applymap、map的区别是什么?适用场景是什么?请以上述数据搭配函数举例试验。

生成随机DataFrame

生成数据

apply:作用于行或列求最大值,axis默认为0求列最大值,1为求行最大值

apply

applymap:作用于DataFrame里的每一个数据

applymap

map:作用于一个series里的每一个元素


map
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。