Pandas数据分析面试基础题(一)

Offer 驾到,掘友接招!我正在参与2022春招打卡活动,点击查看活动详情

Pandas是基于NumPy的一个开源的Python库,常用于数据处理及分析,提供了大量的函数及方法,可以高效地对数据集进行操作处理,与Numpy、Matplotlib并称为数据分析三剑客。

Pandas应用最广泛的数据结构主要有 Series(一维数据结构)和 DataFrame(二维数据结构)。

  • Series 是一维带标签的数据结构,由一组数据值和一组标签组成,其中标签与数据值之间是一一对应的关系,标签默认为从0开始递增的整数。它可以存储各种数据类型,包括数字、字符串、Python对象等。
  • DataFrame 是二维的带标签的数据结构,既有行标签(index),又有列标签(columns)。

了解完 Pandas 基础知识,下面以试题的形式进行学习。

试题一:创建 Series 对象的语法是怎样的?

(难度:超级easy)

分析:Pandas使用Series()函数来创建Series对象,通过这个对象可以调用相应的方法和属性进行数据的处理等。
代码

import pandas as pd

s = pd.Series(data, index)
复制代码

其中参数data为输入的数据,可以是常量、列表、ndarray 数组等;index为索引,值必须是惟一的,默认为从0开始递增的整数。

试题二:如何从列表、字典、ndarray对象创建 Series 对象?

(难度:easy)

分析:在使用Series()函数时指定data参数和相应的index参数即可,具体用法及解释下面将分别展示。
具体实现

  • 从列表创建 Series 对象:
data = ["a", "b", "c", "d"]
s1 = pd.Series(data)
s1
复制代码

输出结果如下:

0    a
1    b
2    c
3    d
dtype: object
复制代码

其中前面的0,1,2,3为当前 Series 的索引。

  • 从字典创建 Series 对象:

把字典作为输入数据,如果没有传入索引时会按照字典的key来构造索引;传递了索引时需要将索引标签与字典中的值一一对应。示例如下:
没有传递索引时:

data = {'a' : 0, 'b' : 1, 'c' : 2}
s2 = pd.Series(data)
s2
复制代码

输出结果为:

a    0
b    1
c    2
dtype: int64
复制代码

传递索引时:

data = {'a' : 0, 'b' : 1, 'c' : 2}
s3 = pd.Series(data, index=['c','a','b','d'])
s3
复制代码

输出结果为:

c    2.0
a    0.0
b    1.0
d    NaN
dtype: float64
复制代码

当传递的索引值无法找到与其对应的值时,使用NaN填充。

  • 从 ndarray 创建 Series 对象

ndarray 是 NumPy 中的数组类型,当 data 是 ndarry 时,传递的索引必须具有与数组相同的长度。 下面将创建一个 ndarray 数组,然后从 ndarray 创建 Series 对象:

import numpy as np

data = np.array(["a", "b", "c", "d"])
s4 = pd.Series(data)
s4
复制代码

原创不易,如果小伙伴们觉得有帮助,麻烦点个赞再走呗~

最后,感谢女朋友在工作和生活中的包容、理解与支持 !

Guess you like

Origin juejin.im/post/7075189462699311112