zoukankan      html  css  js  c++  java
  • 【数据分析&数据挖掘】numpy、pandas&matplotlib

     1 import numpy as np
     2 import pandas as pd
     3 
     4 """
     5     numpy --科学计算库
     6     核心---ndarray
     7     本质: 存储单一数据类型的 内存连续的 N维数组
     8      C  F 风格存储
     9      
    10     matplotlib ---数据可视化的库
    11     能绘制2-D  与 3-D 图形
    12     
    13     pandas ----进行数据处理的库
    14     里面封装了部分numpy  与matplotlib 功能
    15     结构核心:
    16     常用两种结构:
    17     series  --存储一维结构
    18     与dataframe相比,只含有行索引,没有列索引
    19     dataframe(重中之重)----存储二维结构
    20     数据相比ndarray  多了行索引、与列索引
    21 """
    22 
    23 # 将columns 与 values 合并为同一个数据----合并结果什么类型---数组
    24 res = np.load("./国民经济核算季度数据.npz")
    25 columns = res["columns"]
    26 values = res["values"]
    27 
    28 print("columns :
    ", columns)
    29 print("values :
    ", values)
    30 # print("*" * 100)
    31 # #
    32 # # numpy合并数据
    33 res_array = np.concatenate((columns.reshape(1,-1), values), axis=0)
    34 # print("res_array:
    ",res_array)
    35 
    36 
    37 # 将数组转化为dataframe
    38 # 将 上面的columns  与 values 转化为pandas 中的dataframe结构
    39 # data----真实数据
    40 # index ---行索引的名称
    41 # columns ---列索引的名称
    42 index = ["index_"+ str(i) for i  in range(values.shape[0])]
    43 print(index)
    44 
    45 res_df = pd.DataFrame(data=values, columns=columns,index=index)
    46 print("res_df:
    ", res_df)
    47 
    48 # # 自己创建一个df
    49 df = pd.DataFrame(
    50     data={
    51         "name": ["zs", "ls", "ww"],
    52         "score": [97, 89, 92.5],
    53         "age": [21, 22, 23]
    54     },
    55     index=["stu_1", "stu_2", "stu_3"]
    56 )
    57 print("df:
    ", df)
    58 
    59 print("df 的维度:
    ", df.ndim)
    60 print("df的类型:
    ", type(df))
    61 
    62 # print("*" * 100)
    63 
    64 # 将dataframe 转化为series
    65 # series ???
    66 se = df["name"]
    67 
    68 print("se:
    ",se)
    69 
    70 print("se 的类型:
    ",type(se))
    71 
    72 # 自己创建series
    73 # data --series 真实的值
    74 se = pd.Series(
    75     data=["zs","ls","ww"],
    76     index=["stu_1","stu_2","stu_3"]
    77 )
    78 print("se:
    ",se)
    79 print("se 的维度:
    ",se.ndim)
    80 print("se 的类型:
    ",type(se))
    81 
    82 
    83 # numpy
    84 arr = np.array([1,2,3,4])  # 将简单列表转化为数组
    85 arr = np.array([[1,2,3,4],[2,3,4,5]])  # 将列表嵌套转化为数组
    86 arr = np.array([[[1,2,3,4],[2,3,4,5]],[[1,2,3,4],[2,3,4,5]]])
    87 
    88 print('arr:
    ',arr)
    89 print('arr的类型:
    ',type(arr))  # <class 'numpy.ndarray'>
    90 print('arr的维度: ', arr.ndim)
    91 print('arr的形状: ', arr.shape)
    92 print('arr的大小: ', arr.size)
    93 print('arr元素的数据类型: ', arr.dtype)
    94 print('arr每一个元素的大小 :', arr.itemsize)
  • 相关阅读:
    MVC 小demo
    单例模式
    简单工厂模式
    有关ajax中的URL问题
    SqlHelper++
    C# 操作XML
    C# 注册DLL(使用cmd)
    图片延迟加载库Layzr
    解决Ajax跨域问题:Origin xx is not allowed by Access-Control-Allow-Origin.
    HTML5 + SOCKET视频传输
  • 原文地址:https://www.cnblogs.com/Tree0108/p/12116044.html
Copyright © 2011-2022 走看看