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
复制代码
原创不易,如果小伙伴们觉得有帮助,麻烦点个赞再走呗~
最后,感谢女朋友在工作和生活中的包容、理解与支持 !