当涉及 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是Python中重要的库之一。它建立在NumPy之上,提供了高级数据结构和功能,使数据操作更为简便和灵活。Pandas主要引入了两种数据结构:Series和DataFrame。
📍Series:Series是Pandas中的一维标签化数组,类似于Python中的列表或NumPy中的一维数组。每个Series都有一个与之关联的索引,允许根据标签来访问数据。它提供了许多内置函数和方法,可进行数学运算、索引、切片等操作。
示例:
📍DataFrame:DataFrame是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([[1, 2, 3], [4, 5, 6]])
# Pandas DataFrame的创建
import pandas as pd
data = {'A': [1, 2, 3], 'B': [4, 5, 6]}
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元