当前位置: 首页 > news >正文

数据分析NumPy

# #数组迭代(遍历)
# import numpy as np
# arr= np.array([1,2,3,4,5])
# for x in arr:
#     print(x)
# #迭代二维
# arr1= np.array([[1,2,3],[4,5,6]])
# for x in arr1:
#     for y in x:
#         print(y)#123456
#
#
# #使用nditer()迭代
# for x in np.nditer(arr1):
#     print(x)
#
# #迭代不同数据类型的数组
# for x in np.nditer(arr,flags=['buffered'],op_dtypes=['S']):
#     print(x)#用步长迭代
# import numpy as np
# arr=np.array([[1,2,3,4],[5,6,7,8]])
# for x in np.nditer(arr[:,::2]):
#     print(x)#1357
#
# #ndenumerate进行枚举迭代
# arr1=np.array([1,2,3])
# for idx,x in np.ndenumerate(arr1):
#     print(idx,x)
#
# for idx,x in np.ndenumerate(arr):
#     print(idx,x)#NumPy数组连接
# import numpy as np
# arr1= np.array([[1,2],[3,4]])
# arr2=np.array([[5,6],[7,8]])
# arr=np.concatenate((arr1,arr2))
# print(arr,arr.shape)#(4,2)
# #沿着行(axis=1)连接两个2-D数组
# arr3=np.concatenate((arr1,arr2),axis=1)
# print(arr3,arr3.shape)#(2,4)   [[1 2 5 6] [3 4 7 8]]
#
##使用堆栈函数连接数组
# import numpy as np
# arr1= np.array([[1,2],[3,4]])
# arr2=np.array([[5,6],[7,8]])
# arr=np.stack((arr1,arr2),axis=0)
# print(arr,arr.shape)#(2,2,2)
# arr3=np.stack((arr1,arr2),axis=1)
# print(arr3,arr3.shape)
# [[[1 2]
#   [3 4]]
#
#  [[5 6]
#   [7 8]]] (2, 2, 2)# [[[1 2]
#   [5 6]]
#
#  [[3 4]
#   [7 8]]] (2, 2, 2)# arr3=np.hstack((arr1,arr2))#按行堆叠
# print(arr3,arr3.shape)
# # [[1 2 5 6]
# #  [3 4 7 8]] (2, 4)
# arr4=np.vstack((arr1,arr2))
# print(arr4,arr4.shape)#按列堆叠
# [[1 2]
#  [3 4]
#  [5 6]
#  [7 8]] (4, 2)# #沿高度堆叠(深度)
# import numpy as np
# arr1= np.array([[1,2],[3,4]])
# arr2=np.array([[5,6],[7,8]])
# arr=np.dstack((arr1,arr2))
# print(arr,arr.shape)
# [[[1 5]
#   [2 6]]
#
#  [[3 7]
#   [4 8]]] (2, 2, 2)# #NumPy数组拆分
# import numpy as np
# arr=np.array([1,2,3,4,5,6])
# newarr=np.array_split(arr,3)#split也是一样
# print(newarr)
# #[array([1, 2]), array([3, 4]), array([5, 6])]
# print(newarr[0])
# print(newarr[1])
# print(newarr[2])
# # [1 2]
# # [3 4]
# # [5 6]
# newarr1=np.array_split(arr,4)#这里使用split函数会报错
# print(newarr1)#[array([1, 2]), array([3, 4]), array([5]), array([6])]#分割二维数组
# import numpy as np
# arr=np.array([[1,2],[3,4],[5,6],[7,8],[9,10],[11,12]])
# print(arr,arr.shape)
# newarr=np.array_split(arr,3)
# print(newarr)
# [[ 1  2]
#  [ 3  4]
#  [ 5  6]
#  [ 7  8]
#  [ 9 10]
#  [11 12]] (6, 2)
# [array([[1, 2],
#        [3, 4]]), array([[5, 6],
#        [7, 8]]), array([[ 9, 10],
#        [11, 12]])]
# arr1=np.array([[1,2,3],[4,5,6],[7,8,9],[10,11,12],[13,14,15],[16,17,18]])
# print(np.array_split(arr1,3,axis=1))
# [array([[ 1],
#        [ 4],
#        [ 7],
#        [10],
#        [13],
#        [16]]), array([[ 2],
#        [ 5],
#        [ 8],
#        [11],
#        [14],
#        [17]]), array([[ 3],
#        [ 6],
#        [ 9],
#        [12],
#        [15],
#        [18]])]#NumPy数组搜索
# import numpy as np
# arr=np.array([1,2,3,4,5,4,4])
# x=np.where(arr==4)#检索出数组中的‘4’
# print(x)#(array([3, 5, 6]),)#搜索排序
# import numpy as np
# #该方法从左侧开始排序,并且返回第一个索引,,其中数字9不再大于下一个值
# arr=np.array([6,8,9,15])
# x=np.searchsorted(arr,9)
# print(x)#2
# y=np.searchsorted(arr,9,side='right')
# print(y)#3
# #多个值
# z=np.searchsorted(arr,[7,10,11])
# print(z)#[1,3,3]#NumPy数组排序
import numpy as np
# arr=np.array([3,2,0,1])
# print(np.sort(arr))#[0 1 2 3]
# arr1=np.array(['banana','cherry','apple'])
# print(np.sort(arr1))#a-z排序
# arr2=np.array([True,False,True])
# print(np.sort(arr2))#False在前
# #多维数组对最后一位进行排序
#
#
#
# #NumPy数组过滤
# arr3=np.array([61,62,63,64,65])
# x=[True,False,True,False,False]
# newarr=arr3[x]
# print(newarr)#[61 63]#创建一个仅返回大于62的值的过滤器数组
# arr=np.array([61,62,63,64,65])
# #创建一个空列表
# filter_arr=[]
# #遍历arr中的每个元素
# for element in arr:
#     #如果元素大于62,则将值设置为True,否则为false
#    if element>62:
#        filter_arr.append(True)
#    else:
#        filter_arr.append(False)
# 
# newarr=arr[filter_arr]
# print(filter_arr)
# print(newarr)
# 
# 
# #直接从数组创建过滤器
# filter_arr1=arr>62
# newarr1=arr[filter_arr1]
# print(filter_arr1)
# print(newarr1)
# [False, False, True, True, True]
# [63 64 65]
# [False False  True  True  True]
# [63 64 65]

相关文章:

  • Modbus转IEC104网关(三格电子)
  • Weblogic SSRF漏洞复现(CVE-2014-4210)【vulhub靶场】
  • docker 学习记录
  • 可解释性AI 综述《Explainable AI for Industrial Fault Diagnosis: A Systematic Review》
  • 【Ansible基础】Ansible 核心组件深度解析:控制节点、受管节点、Inventory与Playbook
  • 表记录的检索
  • c语言 写一个五子棋
  • vuex基本介绍
  • Linux中安装samba服务
  • 滑动窗口最大值
  • @RequestParam使用场景
  • GUI图形化演示
  • 三轴云台之远程控制与通信技术篇
  • Element Plus 取消el-form-item点击触发组件,改为原生表单控件
  • ​​STC51系列单片机引脚分类与功能速查表(以STC89C52为例)​
  • java每日精进 5.15【分页实现】
  • 自学嵌入式 day 18 - 数据结构 1
  • Seata源码—3.全局事务注解扫描器的初始化一
  • Ansys Zemax | 在 MATLAB 或 Python 中使用 ZOS-API 进行光线追迹的批次处理
  • Web》》url 参数 # 、 ? 、@
  • 一图看懂|印巴交火后,双方基地受损多少?
  • “一百零一个愿望——汉字艺术展”亮相意大利威尼斯
  • 文化润疆|为新疆青少年提供科普大餐,“小小博物家(喀什版)”启动
  • AI含量非常高,2025上海教育博览会将于本周五开幕
  • 最高降九成!特朗普签署降药价行政令落地存疑,多家跨国药企股价收涨
  • 茅台1935今年动销达到预期,暂无赴港上市计划!茅台业绩会回应多个热点