查看原文
其他

惊叹!年薪70万的阿里数据岗位面试题曝光!

尤而小屋 尤而小屋 2022-06-19

公众号:尤而小屋
作者:Peter
编辑:Peter

大家好,我是Peter~

前些天在某个技术交流群中,有位群友接到了阿里70万数据岗位的面试机会。在群里短暂的聊天过程中,他说了:在这次面试中,面试官问了他很多关于pandas的问题,而且都是很基础,也是很细节的知识点,比如他提到的:

  • ia和iat的使用
  • loc和iloc的使用
  • all和any的使用
  • pandas中的合并函数
  • stack和unstack的使用

也许大厂的面试在我们心中都是高大上的,但这也是真实的大厂面试:它们也会注重基础知识点的考查~

Pandas连载文章

关注【尤而小屋】的朋友都知道:Peter一直在坚持更新pandas相关的文章,有使用技巧,也有相关的案例。从4月24号到现在,目前已经更新21篇。

下面Peter来介绍一下每篇文章的具体内容,希望对大家有所帮助,也加深对pandas这个库相关知识点的理解和印象~

Pandas的专栏在这里,建议收藏!

Pandas的专栏在这里,建议收藏!

Pandas的专栏在这里,建议收藏!

Pandas专栏

第1篇:爆炸函数explode

介绍的是爆炸函数explode的使用:如何根据左边的表格数据统计出右边的结果?

一切从爆炸函数开始

第2篇:Pandas系列之Series数据类型

Pandas中有两种数据类型:Series和DataFrame,第2篇介绍的是Series类型。

Pandas系列之Series数据类型

第3篇:创建DataFrame:10种方式任你选

10种方式创建DataFrame

第3篇介绍的是DataFrame数据类型,主要是10种方式教你如何创建DataFrame类型数据。

  • 创建空DataFrame
  • 手动创建
  • 读取文件创建
  • 读取数据库创建
  • Python字典创建
  • Python列表创建
  • Python元组创建
  • 通过Series数据创建
  • numpy数组创建
  • 通过构建器创建

写完后发现,还有一种常见的创建方式:通过剪贴板read_clipboard

第4篇:各种骚气的Pandas取数操作

这是如何从pandas的Series或者DataFrame中(主要是DataFrame)取数的第一篇。

  • 查看头尾数据
  • 随机取数
  • 数值型数据的筛选等
各种骚气的Pandas取数操作

第5篇:赞!五花八门的Pandas筛选数据

这篇是pandas数据筛选的第2篇,主要介绍的方法是:

  • 表达式取数
  • query、evel
  • filter
  • where、mask
赞!五花八门的Pandas筛选数据

第6篇:最后一篇:玩转Pandas取数

pandas取数的最后一篇,主要介绍的函数如下,涉及了3个面试题

  • iloc和loc(面试题)
  • at和iat(面试题)
  • any和all(面试题)
最后一篇:玩转Pandas取数

第7篇:数据处理基石:数据探索

当我们生成或者导入了数据之后,通过数据的探索工作能够快速了解和认识数据基本信息,比如数据中字段的类型、索引、最值、缺失值等,可以让我们对数据的全貌有一个初步了解。

数据处理的基石:数据出探索

数据探索的工作包含:数据样本大小、数据形状shape、数据类型、缺失值等基本数据情况。

第8篇:Pandas数据类型操作

Pandas中的每个字段都是有自己的数据类型,在进行后续的处理之前我们需要先清楚每个字段是什么数据类型。

Pandas数据类型操作

本篇文章总结了Pandas中进行数据类型转换的三种基本方法,最后介绍了如何基于数据类型来进行取数:

  • 使用astype()函数进行强制类型转换
  • 通过自定义函数来进行数据类型转换
  • 使用Pandas提供的函数如to_numeric()、to_datetime()等进行转化
  • select_dtypes函数的使用(取数方法)

第9篇:图解Pandas的groupby机制

介绍的是Pandas中的分组机制:groupby。

pandas中的groupby机制

这个pandas中分组重要的一个机制,Peter经常使用~

第10篇:图解Pandas的排名rank机制

介绍的是Pandas中的排名rank机制,类似于SQL中的3个窗口函数:row_number、rank、dense_rank

pandas中的rank排名机制

  • row_number:顺序排名,rank函数的中的method=first
  • rank:跳跃排名,rank函数的中的method=min
  • dense_rank:密集排名,rank函数的中的method=dense

第11篇:图解Pandas的排序机制sort_values

有了排名,肯定是少不了排序机制的。本篇文章重点是介绍了排序机制sort_values

pandas中的sort_values排序机制

DataFrame.sort_values(
  by, 
  axis=0
  ascending=True
  inplace=False
  kind='quicksort'
  na_position='last'# last,first;默认是last
  ignore_index=False
  key=None)

参数的具体解释为:

  • by:表示根据什么字段或者索引进行排序,可以是一个或多个
  • axis:排序是在横轴还是纵轴,默认是纵轴axis=0
  • ascending:排序结果是升序还是降序,默认是升序
  • inplace:表示排序的结果是直接在原数据上的就地修改还是生成新的DatFrame
  • kind:表示使用排序的算法,快排quicksort,,归并mergesort, 堆排序heapsort,稳定排序stable ,默认是 :快排quicksort
  • na_position:缺失值的位置处理,默认是最后,另一个选择是首位
  • ignore_index:新生成的数据帧的索引是否重排,默认False(采用原数据的索引)
  • key:排序之前使用的函数

第12篇:图解Pandas的缺失值处理

数据总是不会那么地完美,可能会存在缺失值。本篇文章介绍了如何处理pandas中存在的缺失值。

pandas中的缺失值处理

处理pandas中使用的几个常见函数:

  • df.isnull()、df.notnull():两个函数互为取反
  • df.isna():等同于df.isnull()
  • df.dropna():删除缺失值
  • df.fillna():填充缺失值

第13篇:图解Pandas重复值处理

数据中存在重复值也是常见情况,我们如何去重并且取出我们需要的数据是本篇文章的重点。

pandas中的重复值处理

Pandas中处理重复值主要使用的是两个函数:

  • duplicated():判断是否有重复值
  • drop_duplicates() :删除重复值

第14篇:图解Pandas的数据合并merge

pandas中的合并函数merge是一个功能十分强大的函数,可以实现类似SQL中的各种join连接功能。

图解Pandas的合并函数merge

这也是面试题合并函数的答案之一

pd.merge(
  left,   # 待合并的2个数据框
  right, 
  how='inner',  # ‘left’, ‘right’, ‘outer’, ‘inner’, ‘cross’
  on=None# 连接的键,默认是相同的键
  left_on=None,  # 指定不同的连接字段:键不同,但是键的取值有相同的内容
  right_on=None
  left_index=False,   # 根据索引来连接
  right_index=False
  sort=False# 是否排序
  suffixes=('_x''_y'),   # 改变后缀
  copy=True
  indicator=False,   # 显示字段来源
  validate=None)

参数的具体解释为:

  • left、right:待合并的数据帧

  • how:合并的方式,有5种:{‘left’, ‘right’, ‘outer’, ‘inner’, ‘cross’}, 默认是 ‘inner’

    1、 left:左连接,保留left的全部数据;right类似;类比于SQL的left join 或者right join

    2、outer:全连接功能,类似SQL的full outer join

    3、inner:交叉连接,类比于SQL的inner join

    4、cross:创建两个数据帧DataFrame的笛卡尔积,默认保留左边的顺序

  • on:连接的列属性;默认是两个DataFrame的相同字段

  • left_on/right_on:指定两个不同的键进行联结

  • left_index、right_index:通过索引进行合并

  • suffixes:指定我们自己想要的后缀

  • indictor:显示字段的来源

第15篇:图解Pandas数据合并:concat、join、append

除了merge,pandas中还有其他的合并函数:concat、join、append。

图解Pandas数据合并:concat、join、append

这也是面试题合并函数的答案一部分

第16篇:图解Pandas的轴旋转函数:stack和unstack

stack和unstack两个函数是实现pandas中数据的轴旋转问题,也就是行列转换的问题。

图解Pandas的轴旋转函数:stack和unstack

这也是面试题的答案

  • stack函数的主要作用是将原来的列转成最内层的行索引,转换之后都是多层次索引
  • unstack函数是将最内层的行索引变成列

第17篇:开启Pandas进阶:图解Pandas透视表、交叉表

从这篇文章开始,重点写pandas中的进阶部分内容,透视表和交叉表是第一个知识点。

开启Pandas进阶:图解Pandas透视表、交叉表

pd.pivot_table(
  data,  # 制作透视表的数据
  values=None,  # 值
  index=None,  # 行索引
  columns=None,  # 列属性
  aggfunc='mean',   # 使用的函数,默认是均值
  fill_value=None,  # 缺失值填充
  margins=False# 是否显示总计
  dropna=True,   # 缺失值处理
  margins_name='All'# 总计显示为All
  observed=False,  
  sort=True  # 排序功能  版本1.3.0才有
)

第18篇:3个Pandas宝藏函数:map+apply+applymap

本篇文章中主要是介绍了3个非常实用的宝藏函数:map+apply+applymap


七夕节:介绍3个超实用的Pandas宝藏函数

  • map:能够满足绝大部分Series类型数据的同一个操作
  • apply:map的功能都能够实现,比较灵活,能够传入各种复杂或者自带的函数进行数据处理
  • applymap:对DataFrame中的数据执行同一个操作,使用较少

apply真的是非常强大

第19篇:对比SQL,学习Pandas操作

从14种方式,34个案例,对比SQL来学习pandas数据操作

14种方式,34个案例:对比SQL,学习Pandas操作

  1. 查询全部数据
  2. 前N条
  3. 后N条
  4. 中间段数据
  5. 部分字段
  6. 指定等式条件
  7. 指定不等式条件
  8. 取反操作
  9. 指定多个条件
  10. 指定计算等式
  11. 模糊查询
  12. 排序
  13. 分组统计
  14. 取别名

第20篇:图解Pandas的移动函数shift

图解pandas的移动函数shift

本篇文章主要是介绍了Pandas中的一个重要函数:shift。然后通过一个电商的复购案例数据详细讲解了如何使用移动函数。这个案例综合性很强,使用了很多的pandas函数,建议自己认真操作,并且收藏之后反复练习:

  • 分组统计:groupby
  • 过滤筛选数据:query
  • 排序函数:sort_values
  • 合并函数:concat
  • 字段重命名:rename
  • 缺失值删除:dropna
  • 宝藏函数:apply

第21篇:图解Pandas的assign函数

assign函数主要是用来生成新的列,它的参数只有一个:DataFrame.assign(**kwargs)。

图解pandas的assign函数

**kwargs: dict of {str: callable or Series}

关于参数的3点说明:

  • 列名是关键字keywords
  • 如果列名是可调用的,那么它们将在DataFrame上计算并分配给新的列
  • 如果列名是不可调用的(例如:Series、标量scalar或者数组array),则直接进行分配

最后,这个函数的返回值是一个新的DataFrame数据框,包含所有现有列和新生成的列


总结

上面便是目前关于pandas全部更新的文章。从数据如何创建、如何筛选数据、如何进行数据探索、多种数据处理方式(缺失值、重复值、数据排名排序等)到透视表的制作、多个宝藏函数的使用,从基础入门到知识点的慢慢进阶。群友在面试中被问到的问题,Peter基本上都已经写成了上面的详细文章,如果有认真阅读,问题不大!

希望这些文章能够帮助读者快速入门和掌握pandas库的使用,学到更多的数据处理技巧。Pandas的文章Peter会继续更新下去,如果有任何问题,欢迎留言和联系Peter。

您的鼓励是Peter写作的最大动力,欢迎点赞~


推荐阅读


图解Pandas的宝藏函数:assign

电商用户复购数据实战:图解Pandas的移动函数shift

一切从爆炸函数开始!

图解Pandas数据合并:concat、join、append

挑战SQL:图解Pandas的数据合并merge

图解Pandas的缺失值处理

数据处理基石:数据探索

尤而小屋,一个温馨的小屋。小屋主人,一手代码谋求生存,一手掌勺享受生活,欢迎你的光临

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存