数据分析面试必备:搞定这两个数据包,数据分析面试不再难!

教育   2025-01-07 18:33   黑龙江  

当涉及 Python 数据分析时,两个强大的工具经常成为面试中的焦点:NumPy 和 Pandas。这两个库在数据科学领域扮演着至关重要的角色,它们提供了丰富的功能和灵活性,使得数据分析变得更加轻松和高效。今天小爱就给大家介绍一下这两个基础库。


Numpy


Numpy(Numerical Python)是Python中用于科学计算的一个重要库,它提供了多维数组对象和用于处理数组的函数。以下是Numpy库的主要特点和功能:


多维数组对象 (Ndarray):NumPy的核心是Ndarray对象,它是具有固定大小的同类数据项的数组,可以是一维、二维或多维的。Ndarray对象比Python内置的列表更高效,因为它们是在连续的内存块中存储数据。


向量化操作:NumPy提供了广播(Broadcasting)功能,允许在不同形状的数组之间进行数学运算,而无需编写循环。这使得对整个数组执行操作变得更加高效和简单。


数学函数和线性代数运算:NumPy包含大量的数学函数,涵盖了各种数学运算,例如三角函数、指数函数、对数函数等。此外,它也提供了线性代数运算,如矩阵乘法、求逆、特征值等操作。


随机数生成:NumPy包含用于生成各种概率分布的随机数的函数,如正态分布、均匀分布等。


数据的输入和输出:NumPy能够读取和写入各种格式的文件,如文本文件、CSV文件、二进制文件等。


🌰下面是一个使用NumPy的简单示例(仅供参考):



总的来说,NumPy为Python提供了强大的数据结构和工具,使得数值计算和数据处理变得高效且简便。它是许多其他数据科学和机器学习库的基础,因此对于任何从事数据分析或科学计算的人来说,掌握NumPy是一个重要的第一步。


Pandas


Pandas是Python中重要的库之一。它建立在NumPy之上,提供了高级数据结构和功能,使数据操作更为简便和灵活。Pandas主要引入了两种数据结构:Series和DataFrame


📍Series:Series是Pandas中的一维标签化数组,类似于Python中的列表或NumPy中的一维数组。每个Series都有一个与之关联的索引,允许根据标签来访问数据。它提供了许多内置函数和方法,可进行数学运算、索引、切片等操作。


示例:


📍DataFrameDataFrame是Pandas中的二维标签化数据结构,类似于电子表格或SQL数据库中的表格。它由多个Series组成,每个Series都共享相同的索引。DataFrame包含不同类型的数据,并且具有灵活的行和列操作能力。


示例:


Pandas提供了丰富的功能和方法,用于数据清洗、处理、转换和分析,包括数据的加载与存储、缺失值处理、数据合并与拼接、数据筛选与索引、统计计算等。它也能与其他Python库(如Matplotlib、Seaborn等)很好地配合,支持数据可视化,进一步加强了数据分析的能力。


Numpy和Pandas这两个库作为Python数据分析的基石,为处理、转换和分析数据提供了强大的功能和工具。此外,对Numpy和Pandas的熟练应用是在面试中经常考察的重点。


面试中的真题/面经


在面试中,经常会涉及到对Numpy和Pandas的实际应用,下面是一些问题及解答的示例,大家可以学习参考。


问题一: 如何创建一个Numpy数组和Pandas DataFrame?


🔻使用参考:

#Numpy数组的创建

import numpy as np

arr = np.array([[123], [456]])

# Pandas DataFrame的创建

import pandas as pd

data = {'A': [123], 'B': [456]}

df = pd.DataFrame(data)


问题二:如何在DataFrame中选择满足特定条件的行或列?


🔻使用参考:

# 根据条件筛选行

filtered_rows = df[df['A'] > 2]

# 选择特定列

selected_columns = df[['A''B']]


问题三:如何合并(merge)两个DataFrame?


🔻使用参考:

# 根据列进行合并

merged_df=pd.merge(df1,df2,on='key_column')


问题四:如何将两个DataFrame按行或列进行拼接(concatenate)?


🔻使用参考:

# 按行拼接

concatenated_rows = pd.concat([df1, df2])

# 按列拼接

concatenated_columns = pd.concat([df1, df2], axis=1)


问题五(选择题):返回DataFrame中age这一列为NaN的所有行用到的 pd.isna()/pd.isnull()/np.isnan()。


解析:当涉及到处理Pandas DataFrame中的缺失值时,可以使用pd.isna()或pd.isnull()函数来检查NaN 值。同时,如果数据中包含了NumPy数组,也可以使用np.isnan()函数。针对数据框中的age列为NaN的所有行,以下是对应的方法:


🔻使用 pd.isna():

import pandas as pd

# 假设 df 是你的 DataFrame

rows_with_nan = df[df['age'].isna()]


🔻使用 pd.isnull():

rows_with_nan = df[df['age'].isnull()]


🔻使用 NumPy 的 np.isnan() (假设 age 列是一个 NumPy 数组):

import numpy as np

rows_with_nan = df[np.isnan(df['age'])]


以上仅是面试中涉及Numpy和Pandas的部分内容,掌握这些基础知识并能灵活运用于实际问题解决,将会极大地提升数据分析面试的成功率。


总之,通过熟练使用Numpy和Pandas,能够更加自信地应对各种数据分析挑战,展现出高效的数据处理能力。希望这些经验能够帮助你更好地准备数据分析面试,同时也不断深入学习和实践,不断提升自己在数据分析领域的能力。


职业规划解决方案

开启职业新征程

职业规划帮你掌握人生航向

了解自己的优势,找到适合自己的岗位!

人生不只有一条路,

职业规划帮你发现更多可能性!

赶快来了解一下吧

👇👇👇


扫码添加即可抢占名额

仅需9.9元

让爱数据助力你的职场生涯

END

如果你还是遇到面试有问题或业务分析能力弱,技术能力不强,分析思维不足等困难。

可扫码添加顾问老师

获取1V1职业咨询

帮你理清“面试”思路

毕竟时间不等人

有规划方向的准备>1年盲目摸索

👇


其次,按照能力提升计划升级,构建数据分析能力体系

如果想要系统学习却不知道如何开始,强烈推荐你了解这门数据分析系统提升课程--《数据分析 · 就业班》,多位大厂数据分析高管结合10多年的数据分析经验,联手互联网一线企业HRBP求职辅导,相信能给你带来不小的启发。


课程大纲:(上下滑动查看)

数据分析就业班

(上下滑动查看)


想了解老师课程排期/更多课程详情服务

扫码添加顾问老师咨询

👇


点击【阅读原文】,数据分析职业规划1v1指导,仅需9.9

爱数据LoveData
国内领先数据分析社区,专注数据分析知识分享及求职辅导。爱数据作为一线数据厂商(帆软、观远、永洪等)培训合作伙伴,曾联合阿里、美团、滴滴等一线公司开展数据领域专题分享会。积累10年+行业经验,链接千人数据分析高端人脉,累计服务15w+用户。
 最新文章