Fredreck 2019-12-29
import numpy as np
import pandas as pd
"""
numpy --科学计算库
核心---ndarray
本质: 存储单一数据类型的 内存连续的 N维数组
C F 风格存储
matplotlib ---数据可视化的库
能绘制2-D 与 3-D 图形
pandas ----进行数据处理的库
里面封装了部分numpy 与matplotlib 功能
结构核心:
常用两种结构:
series --存储一维结构
与dataframe相比,只含有行索引,没有列索引
dataframe(重中之重)----存储二维结构
数据相比ndarray 多了行索引、与列索引
"""
# 将columns 与 values 合并为同一个数据----合并结果什么类型---数组
res = np.load("./国民经济核算季度数据.npz")
columns = res["columns"]
values = res["values"]
print("columns :\n", columns)
print("values :\n", values)
# print("*" * 100)
# #
# # numpy合并数据
res_array = np.concatenate((columns.reshape(1,-1), values), axis=0)
# print("res_array:\n",res_array)
# 将数组转化为dataframe
# 将 上面的columns 与 values 转化为pandas 中的dataframe结构
# data----真实数据
# index ---行索引的名称
# columns ---列索引的名称
index = ["index_"+ str(i) for i in range(values.shape[0])]
print(index)
res_df = pd.DataFrame(data=values, columns=columns,index=index)
print("res_df:\n", res_df)
# # 自己创建一个df
df = pd.DataFrame(
data={
"name": ["zs", "ls", "ww"],
"score": [97, 89, 92.5],
"age": [21, 22, 23]
},
index=["stu_1", "stu_2", "stu_3"]
)
print("df:\n", df)
print("df 的维度:\n", df.ndim)
print("df的类型:\n", type(df))
# print("*" * 100)
# 将dataframe 转化为series
# series ???
se = df["name"]
print("se:\n",se)
print("se 的类型:\n",type(se))
# 自己创建series
# data --series 真实的值
se = pd.Series(
data=["zs","ls","ww"],
index=["stu_1","stu_2","stu_3"]
)
print("se:\n",se)
print("se 的维度:\n",se.ndim)
print("se 的类型:\n",type(se))
# numpy
arr = np.array([1,2,3,4]) # 将简单列表转化为数组
arr = np.array([[1,2,3,4],[2,3,4,5]]) # 将列表嵌套转化为数组
arr = np.array([[[1,2,3,4],[2,3,4,5]],[[1,2,3,4],[2,3,4,5]]])
print(‘arr:\n‘,arr)
print(‘arr的类型:\n‘,type(arr)) # <class ‘numpy.ndarray‘>
print(‘arr的维度: ‘, arr.ndim)
print(‘arr的形状: ‘, arr.shape)
print(‘arr的大小: ‘, arr.size)
print(‘arr元素的数据类型: ‘, arr.dtype)
print(‘arr每一个元素的大小 :‘, arr.itemsize)