【数据分析&数据挖掘】numpy、pandas&matplotlib

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)

相关推荐