第二章:Pandas入门-1
2021-07-13 本文已影响0人
西布鲁克
第二章:pandas入门
2.1 pandas数据结构介绍
2.1.1 Series
- Series是一种一维的数据型对象,它包含了一个值序列和对应的索引,对象值和索引分别可以通过values属性和index属性获取。
- 默认的索引值是从0到n-1(n是数据的长度),也可以通过创建Series对象时指定为特定的索引标签。
- Series对象支持NumPy风格的操作,比如布尔值过滤、标量相乘、应用数学函数等。
- Series对象可以通过Python字典直接生成,产生的Series对象将按索引键值排序。
2.1.2 DataFrame
- DataFrame是一个矩阵式的数据表,它包含已排序的列集合,既有行索引也有列索引。
# 构建DataFrame
import pandas as pd
import numpy as np
data = {'state': ['Ohio','Ohio','Ohio','Nevada','Nevada','Nevada'],
'year': [2001,2002,2001,2001,2002,2003],
'pop': [1.5,1.7,1.6,1.8,2.1,2.3]}
frame = pd.DataFrame(data)
frame
构建DataFrame
产生的DataFrame会自动为Series分配索引
frame.head(3) #head方法选择需要的头几行-不带参数默认5行
部分显示DataFrame
pd.DataFrame(data,columns=['year','pop','state']) #将DataFrame的列按照指定列顺序排列
按指定列顺序显示
frame['pop'] #DataFrame中的一列,可以看成是一个Series
0 1.5
1 1.7
2 1.6
3 1.8
4 2.1
5 2.3
Name: pop, dtype: float64
frame['pop'] = 2.0 #修改一个列的值
frame
修改列值
frame['debt'] = np.arange(6.) #给列索引原本不存在的列赋值会添加一个新列
frame
添加新列
2.1.3 索引对象
在构造Series或DataFrame时,你所使用的任意数组或标签序列都可以在内部转换为索引对象
obj=pd.Series(range(3),index=['a','b','c'])
index=obj.index
index
Index(['a', 'b', 'c'], dtype='object')