"""小白自学笔记,参考价值有限,欢迎大神指正~~~~"""
numpy是以矩阵为基础的数学计算模块,提供高性能的矩阵运算,数组结构为ndarray。
pandas是基于numpy数组构建的,但二者最大的不同是pandas是专门为处理表格和混杂数据设计的,比较契合统计分析中的表结构,而numpy更适合处理统一的数值数组数据。pandas数组结构有一维Series和二维DataFrame。
Series是一种类似于一维数组的对象,它由一组数据以及一组与之相关的数据标签(索引index)组成。
# 利用List构造Series,索引是数字
courses = ['语文', '数学', '英语', '计算机']
data1 = pd.Series(courses)
# Series的值向List转换
numbers = data.tolist()
# 利用Dict构造Series,索引是key
grades = {'语文': 98, '数学': 99, '英语': 97, '计算机': 100}
data = pd.Series(grades)
# Series向Dataframe转换
frame = pd.DataFrame(data, columns=['成绩'])
#借助Numpy创建Series
s = pd.Series(
np.arange(10, 100, 10),
index=np.arange(101, 110),
dtype='float'
)
#转化Series的数据类型
s = s.astype(int) #此处的int是类型
s = s.map(int) #此处的int是函数
#Series添加元素,;类似于拼接
data = pd.Series({'语文': 98, '数学': 99, '英语': 97, '计算机': 100})
data = data.append(pd.Series({'物理': 88, '化学': 89}))
#用reset_index将Series转成df
df = data.reset_index() #将原索引也设为Series的一列,前设新的一列0-n为索引
df.columns = ["course", "grade"] #设置新的列名
#使用字典创建df
df = pd.DataFrame(
{"姓名": ["小张", "小王", "小李"],
"性别": ["男", "男", "女"],
"年龄": [18, 19, 20]})
#给df设置索引列(第一列元素)
df.set_index("姓名", inplace=True)