'''数组与pandas模块'''

  1. # numpy模块:用来做数据分析,对numpy数组(既有行又有列)--矩阵进行科学运算
  2. # tensorflow/pytorch(数学专业/物理专业/计科专业硕士及以上,kaggle 10-15%(清华/北大/浙大)/acm 1-2等奖/ 天池5%)模块:用来做数据分析,对tensor数组(既有行又有列还有层。。。-三维以上)-- 张量进行科学运算
  3. lt1 = [1, 2, 3] # n个元素
  4. lt2 = [4, 5, 6]
  5. lt = []
  6. for i in range(len(lt1)): # O(n)
  7. lt.append(lt1[i] * lt2[i])
  8. print(lt)
  9. import numpy as np # 约定俗成的
  10. arr1 = np.array([1, 2, 3])
  11. arr2 = np.array([4, 5, 6])
  12. print(arr1 * arr2)
  13. # gpu --> 图形显卡
  14. # 创建numpy数组 --> 可变
  15. # 一维数组(不在讨论范围内)
  16. arr = np.array([1, 2, 4])
  17. print(type(arr), arr)
  18. # 二维数组(******)
  19. arr = np.array([
  20. [1, 2, 3],
  21. [4, 5, 6]
  22. ])
  23. print(arr)
  24. # 三维数组(不在讨论范围内)--》tensorflow
  25. arr3 = np.array([
  26. [[1, 2, 3],
  27. [4, 5, 6]],
  28. [[1, 2, 3],
  29. [4, 5, 6]],
  30. ])
  31. print(arr)
  32. # numpy数组的属性
  33. arr = np.array([
  34. [1, 2, 3],
  35. [4, 5, 6]
  36. ])
  37. # T 数组的转置(对高维数组而言) --> 行列互换,转置
  38. print(arr, '\n', arr.T)
  39. # dtype 数组元素的数据类型,numpy数组是属于python解释器的;int32/float64属于numpy的
  40. print(arr.dtype)
  41. '''
  42. # 定制化的科学计算机
  43. 11111111111111111111111111111111111111111
  44. '''
  45. # size 数组元素的个数
  46. print(arr.size)
  47. # ndim 数组的维数
  48. print(arr.ndim)
  49. print(arr3.ndim)
  50. # shape 数组的维度大小(以元组形式)
  51. print(arr.shape[0])
  52. print(arr.shape[1])
  53. # astype 类型转换
  54. arr = arr.astype(np.float64)
  55. print(arr)
  56. # 切片numpy数组
  57. lt = [1, 2, 3]
  58. print(lt[:])
  59. arr = np.array([
  60. [1, 2, 3],
  61. [4, 5, 6]
  62. ])
  63. print(arr[:, :]) # 行,列
  64. print(arr[0, 0])
  65. print(arr[0, :])
  66. print(arr[:, -2:])
  67. # 逻辑取值
  68. print(arr[arr > 4])
  69. # 赋值
  70. lt = [1, 2, 3]
  71. lt[:] = [0, 0, 0]
  72. print(lt)
  73. arr = np.array([
  74. [1, 2, 3],
  75. [4, 5, 6]
  76. ])
  77. arr[0, 0] = 0
  78. print(arr)
  79. arr[0, :] = 0
  80. print(arr)
  81. arr[:, :] = 0
  82. print(arr)
  83. # 数组的合并
  84. arr1 = np.array([
  85. [1, 2, 3],
  86. [4, 5, 6]
  87. ])
  88. arr2 = np.array([
  89. [7, 8, 9],
  90. ['a', 'b', 'c']
  91. ])
  92. print(np.hstack((arr1, arr2))) # 只能放元组
  93. print(np.vstack((arr1, arr2)))
  94. print(np.concatenate((arr1, arr2), axis=1)) # 默认以列合并 # 0表示列,1表示行
  95. # 通过函数创建numpy数组
  96. print(np.ones((2, 3)))
  97. print(np.zeros((2, 3)))
  98. print(np.eye(3, 3))
  99. print(np.linspace(1, 100, 10))
  100. print(np.arange(2, 10))
  101. arr1 = np.zeros((1, 12))
  102. print(arr1.reshape((3, 4))) # 重构形状
  103. # numpy数组运算
  104. # +-*'
  105. arr1 = np.ones((3, 4)) * 4
  106. print(arr1)
  107. # numpy数组运算函数
  108. print(np.sin(arr1))
  109. # 矩阵运算--点乘
  110. arr1 = np.array([
  111. [1, 2, 3],
  112. [4, 5, 6]
  113. ])
  114. arr2 = np.array([
  115. [1, 2],
  116. [4, 5],
  117. [6, 7]
  118. ])
  119. # 2* 3 3*2
  120. print(np.dot(arr1, arr2))
  121. # 求逆
  122. arr = np.array([[1, 2, 3], [4, 5, 6], [9, 8, 9]])
  123. print(np.linalg.inv(arr))
  124. # numpy数组数学和统计方法
  125. print(np.sum(arr[0, :]))
  126. # numpy.random生成随机数(******)
  127. print(np.random.rand(3, 4))
  128. print(np.random.random((3, 4)))
  129. # np.random.seed(1)
  130. print(np.random.random((3, 4)))
  131. s = np.random.RandomState(1)
  132. print(s.random((3, 4)))
  133. arr = np.array([[1, 2, 3], [4, 5, 6], [9, 8, 9]])
  134. np.random.shuffle(arr)
  135. print(arr)
  136. # 针对一维
  137. print(np.random.choice([1, 2, 3], 1))
  138. # 针对某一个范围
  139. print(np.random.randint(1, 100, (3, 4)))
  140. # 以上只是基础中的基础,入门都还没达到 《利用python进行数据分析》
  141. # sklearn会对numpy封装
  142. # pandas模块:操作excel/json/sql/ini/csv(配置文件)/
  143. # import pandas as pd
  144. #
  145. # df = pd.read_csv('test.csv',header=None)
  146. # df.to_excel('test.xls')
  147. # pd从excel中读取 DataFrame数据类型
  148. import numpy as np
  149. import pandas as pd
  150. np.random.seed(10)
  151. index = pd.date_range('2019-01-01', periods=6, freq='M')
  152. print(index)
  153. columns = ['c1', 'c2', 'c3', 'c4']
  154. print(columns)
  155. val = np.random.randn(6, 4)
  156. print(val)
  157. df = pd.DataFrame(index=index, columns=columns, data=val)
  158. print(df)
  159. # 保存文件,读出成文件
  160. df.to_excel('date_c.xlsx')
  161. # 读出文件
  162. df = pd.read_excel('date_c.xlsx', index_col=[0])
  163. print(df)
  164. print(df.index)
  165. print(df.columns)
  166. print(df.values)
  167. print(df[['c1', 'c2']])
  168. # 按照index取值
  169. # print(df['2019-01-31'])
  170. print(df.loc['2019-01-31'])
  171. print(df.loc['2019-01-31':'2019-05-31'])
  172. # 按照values取值
  173. print(df)
  174. print(df.iloc[0, 0])
  175. df.iloc[0, :] = 0
  176. print(df)

数组与pandas模块的更多相关文章

  1. python之pandas模块

    一.pandas模块是基于Numpy模块的,pandas的主要数据结构是Series和DadaFrame,下面引入这样的约定: from pandas import Series,DataFrame ...

  2. Python 数据处理扩展包: numpy 和 pandas 模块介绍

    一.numpy模块 NumPy(Numeric Python)模块是Python的一种开源的数值计算扩展.这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list str ...

  3. Pandas模块:表计算与数据分析

    目录 Pandas之Series Pandas之DataFrame 一.pandas简单介绍 1.pandas是一个强大的Python数据分析的工具包.2.pandas是基于NumPy构建的. 3.p ...

  4. Python数据分析 Pandas模块 基础数据结构与简介(一)

    pandas 入门 简介 pandas 组成 = 数据面板 + 数据分析工具 poandas 把数组分为3类 一维矩阵:Series 把ndarray强大在可以存储任意数据类型可以专门处理时间数据 二 ...

  5. 4 pandas模块,Series类

      对gtx图像进行操作,使用numpy知识 如果让gtx这张图片在竖直方向上进行颠倒.   如果让gtx这张图片左右颠倒呢?   如果水平和竖直方向都要颠倒呢?   如果需要将gtx的颜色改变一下呢 ...

  6. 开发技术--pandas模块

    开发|pandas模块 整了一篇关于pandas模块的使用文章,方便检查自己的学习质量.自从使用了pandas之后,真的是被它的功能所震撼~~~ 前言 目前所有的文章思想格式都是:知识+情感. 知识: ...

  7. 模块讲解---numpymo模块,matplotlib模块,pandas模块

    目录 numpy模块 matplotlib模块 pandas模块 numpy模块 numpy模块:用来做数据分析,对numpy数组(既有行又有列)--矩阵进行科学运算 在使用的时候,使用方法与其他的模 ...

  8. numpy模块、matplotlib模块、pandas模块

    目录 1. numpy模块 2. matplotlib模块 3. pandas模块 1. numpy模块 numpy模块的作用 用来做数据分析,对numpy数组(既有行又有列)--矩阵进行科学计算 实 ...

  9. pandas模块详解

    Pandas模块 1.什么是pandas pandas是基于numpy构建的,用来做数据分析的 2.pandas能干什么 具备对其功能的数据结构DataFrame,Series 集成时间序列功能 提供 ...

随机推荐

  1. ubuntu安装dockers过程:

    1. 先对系统进行更新 1.1 apt-get upgrade 1.2 去中国关于dockers的网站 http://get.daocloud.io/ 1.3 安装docker curl -sSL h ...

  2. Asp.Net Core 反向工程

    反向工程1.反向工程是实体类型类和一个基于数据库架构的 DbContext 类的基架的过程2.Scaffold-DbContext(数据库上下文脚手架)    使用Scaffold-DbContext ...

  3. BCP 数据导出

    EXEC master..xp_cmdshell 'BCP test.dbo.name out d:\t_002.txt -c -t -T' EXEC master..xp_cmdshell 'BCP ...

  4. 关联SecureCRT

    建议安装SecureCRT 8.1及其以上版本,打开http://EVE-NG地址/files/windows.zip下载eve-ng的Windows关联文件,然后使用文本编辑工具编辑win7_64b ...

  5. [转帖]linux中systemctl详细理解及常用命令

    linux中systemctl详细理解及常用命令 2019年06月28日 16:16:52 思维的深度 阅读数 30 https://blog.csdn.net/skh2015java/article ...

  6. 小菜鸟之java JDBC编程

    JDBC技术 百度简介 :  JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一 ...

  7. Python学习【day05】- Python文件处理

    一.打开文件 对文件的操作主要为三步:1.打开文件,得到文件句柄.2.通过句柄对文件进行操作.3.关闭文件 # 默认打开模式为r,encoding默认为系统文件编码 f=open('F:/Go.txt ...

  8. MYSQL中的UNION和UNION ALL

    SQL UNION 操作符 UNION 操作符用于合并两个或多个 SELECT 语句的结果集. 请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列.列也必须拥有相似的数据类型.同时,每 ...

  9. 从入门到自闭之Python内置函数

    内置函数一 eval:执行字符串类型的代码 exac:执行字符串社类型的代码 eval与exac 禁止使用 hash()作用就是区分可变数据类型与不可变数据类型 # print(hash(" ...

  10. spring boot 配置文件动态更新原理 以Nacos为例

    配置文件的动态更新 通常获取配置文件的方式 1, @Value 2. @ConfigurationProperties(Prefix) 如果是在运行时要动态更新的话, 第一种方式要在bean上加@Re ...