掌握Pandas,面试轻松过!揭秘热门面试题及实战技巧

引言
Pandas 是 Python 中一个强大的数据分析库,它提供了高效、灵活的数据结构和数据分析工具。在数据科学和数据分析领域,Pandas 的应用非常广泛。本文将揭秘一些热门的 Pandas 面试题,并提供相应的实战技巧,帮助你在面试中轻松应对。
一、Pandas 基础知识
1. Pandas 的数据结构
Series(序列)
:类似于 NumPy 的数组,但可以包含不同类型的数据。
DataFrame(数据框)
:表格型的数据结构,由行索引和列索引组成。
Panel(面板)
:三维数据结构,由多个 DataFrame 组成。
2. Pandas 的基本操作
数据读取与写入
:使用
read_csv()
,
read_excel()
,
to_csv()
,
to_excel()
等函数。
数据选择
:使用
.loc
,
.iloc
,
.ix
索引器。
数据筛选
:使用布尔索引或
.query()
方法。
数据排序
:使用
.sort_values()
或
.sort_index()
方法。
数据聚合
:使用
.groupby()
方法。
二、热门面试题及实战技巧
1. 如何选择合适的索引器?
面试题
:在 Pandas 中,
.loc
和
.iloc
有什么区别?
实战技巧
:
.loc
:基于标签的索引,可以同时使用行标签和列标签。
.iloc
:基于整数的位置索引,只能使用整数。
示例代码
:
import pandas as pd

data = {‘Name’: [‘Tom’, ‘Nick’, ‘John’, ‘Alice’],
‘Age’: [20, 21, 19, 18],
‘Gender’: [‘M’, ‘M’, ‘M’, ‘F’]}

df = pd.DataFrame(data)

# 使用 .loc
print(df.loc[‘Tom’]) # 选择行标签为 ‘Tom’ 的行
print(df.loc[0:2, ‘Age’]) # 选择行索引为 0 到 2,列索引为 ‘Age’ 的数据

# 使用 .iloc
print(df.iloc[0:2]) # 选择行索引为 0 到 2 的数据
print(df.iloc[0:2, 1]) # 选择行索引为 0 到 2,列索引为 1 的数据
2. 如何处理缺失值?
面试题
:在 Pandas 中,如何处理缺失值?
实战技巧
:
使用
dropna()
函数删除缺失值。
使用
fillna()
函数填充缺失值。
使用
interpolate()
函数进行插值。
示例代码
:
import pandas as pd
import numpy as np

data = {‘Name’: [‘Tom’, ‘Nick’, ‘John’, ‘Alice’],
‘Age’: [20, np.nan, 19, 18],
‘Gender’: [‘M’, ‘M’, ‘M’, ‘F’]}

df = pd.DataFrame(data)

# 删除缺失值
print(df.dropna())

# 填充缺失值
print(df.fillna(0))

# 插值
print(df.interpolate())
3. 如何进行数据聚合?
面试题
:在 Pandas 中,如何进行数据聚合?
实战技巧
:
使用
groupby()
方法对数据进行分组。
使用
agg()
方法对分组后的数据进行聚合操作。
示例代码
:
import pandas as pd

data = {‘Name’: [‘Tom’, ‘Nick’, ‘John’, ‘Alice’, ‘Tom’, ‘Alice’],
‘Age’: [20, 21, 19, 18, 22, 17],
‘Gender’: [‘M’, ‘M’, ‘M’, ‘F’, ‘M’, ‘F’]}

df = pd.DataFrame(data)

# 分组
grouped = df.groupby(‘Name’)

# 聚合
print(grouped.agg({‘Age’: [‘sum’, ‘mean’]}))
三、总结
通过以上内容,相信你已经对 Pandas 的热门面试题及实战技巧有了更深入的了解。在实际工作中,熟练掌握 Pandas 将帮助你更高效地进行数据分析。祝你在面试中取得好成绩!