Python数据分析:pandas Series入门与实战

4 下载量 29 浏览量 更新于2024-08-29 收藏 442KB PDF 举报
“学习笔记|《从零开始学python数据分析》|第3章pandas入门和实战1” 在Python数据分析领域,pandas库是至关重要的工具,它提供了两种核心数据结构:Series和DataFrame。本章主要介绍了如何入门pandas并进行实战操作。 首先,让我们深入理解Series数据结构。Series可以看作是一维的、带标签的数组,它的内部存储的数据类型可以是Numpy支持的各种类型。创建Series时,你可以提供一个列表,这个列表的元素将作为Series的值,而列表的索引默认是从0开始的整数序列。例如: ```python obj = Series([1, -2, 3, -4]) ``` 这里的`obj`就创建了一个Series,其中包含了四个数值,索引分别为0, 1, 2, 3。 Series的索引特性使得我们可以直接通过索引来访问数据,这与一维数组不同。例如,我们可以通过索引`'b'`来获取值`-2`: ```python obj2 = Series([1, -2, 3, -4], index=['a', 'b', 'c', 'd']) obj2['b'] # 返回-2 ``` Series不仅可以通过索引访问,还具备了values和index属性。values返回的是不包含索引的数值数组,而index返回的是索引对象。例如: ```python obj2.values # 返回array([1, -2, 3, -4]) obj2.index # 返回Index(['a', 'b', 'c', 'd'], dtype='object') ``` Series的运算操作会保留索引与值之间的对应关系,这意味着当两个Series进行运算时,它们会按照相同的索引来对齐数据。例如: ```python obj2 * 2 # 将每个元素乘以2 ``` Series还可以通过字典方式创建,但要注意字典是无序的,所以生成的Series也是无序的。尽管如此,我们仍能通过index来控制索引的顺序: ```python obj2 = Series({'a': 1, 'b': -2, 'c': 3, 'd': -4}) ``` 此外,Series对象和索引都有name属性,允许我们给Series赋予名称,提高代码的可读性。例如: ```python obj2.name = 'numbers' ``` 在实战中,我们经常需要根据条件筛选数据,如查找小于0的值: ```python obj2[obj2 < 0] # 返回所有小于0的值 ``` 通过对Series的这些基本操作,我们可以开始处理更复杂的数据分析任务。DataFrame是pandas的另一个关键数据结构,它将在后续章节中详细介绍。通过掌握Series和DataFrame,你将能够有效地进行数据清洗、处理和分析。