当前位置:网站首页>Slice and index of array with data type
Slice and index of array with data type
2022-07-03 08:49:00 【Thebluewinds】
Numpy Array basic index and slice attached ndarray Data type of
One 、 Slicing of arrays
Slice of the list
In understanding numpy Before the array slice of , Let's first look at list Slicing operation . obviously , Slicing will copy the selection of the original array and assign it to a new variable list_slice, In this way, when operating on slices , The original list value will not change .
list = [1 for x in range(10)]
print(list)
list_slice = list[3:5]
list_slice[1] = 12
print(list)
print(list_slice)
""" output: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [1, 12] """
Automatic propagation of array slices
Perform slicing operations, such as arr[2:3]=1 when , This assignment will be automatically propagated to the original array . For example, the following operations :
First create an all one array . Then on arr Slice and give another variable arr_slice. Then on arr_slice Assign a value to the second value of , Then the output arr. You can go to the original array arr It has also changed . This explanation , We are in the process of slicing , An array slice is just a reduced view of the original array . It means , Slicing does not copy data , Any numerical changes in the slice will be reflected in the original array .
arr_slice = arr[3:5]
arr_slice[1]=12
print(arr)
# output : [ 1. 1. 1. 1. 12. 1. 1. 1. 1. 1.]
Two 、 Boolean index
First, let's look at a failed case :
You can see , The output result is false, Note: Boolean index operation cannot be directly performed on the list .
import numpy as np
name = ['wuqian', 'hua','wuqian', 'wanglihon']
date = np.random.randn(4,4)
name == 'wuqian'
#output:False
You should first convert the character list into array type .
import numpy as np
name = np.array(['wuqian', 'hua','wuqian', 'wanglihon'])
data = np.random.randn(4,4)
name == 'wuqian' # This operation is the same as arithmetic operation , Array comparison operations are also vectorized , Will be compared one by one , Then the output True or False
# The output is a Boolean array
""" output:array([ True, False, True, False]) """
# Then the Boolean array can index the array
data[name == 'wuqian']
""" The output is data In the corresponding Boolean array of data True Location data . # output: array([[-0.05095068, -0.21921446, 0.30479235, 0.07790257], [-0.46580753, -0.3457661 , -0.40843969, -0.97014426]]) """
One point that needs great attention is
Use this index , The length of Boolean array must be consistent with the axis length of root index .
In addition, it can be used flexibly &、|、!= Boolean arithmetic symbols such as non, or greater than less than , Here's an example :
huairen = (name == 'wuqian')|(name = 'hua')
name !='wuqian'
score = np.array([100, 99, 78, 12, 0, 65])
score = score.astype(np.unicode_)
score[score>'60'] = ' pass '
score
# output: array(['100', ' pass ', ' pass ', '12', '0', ' pass '], dtype='<U11')
3、 ... and 、Ndarray Data type of
1. Data type view
arr1 = np.array([1,3,4])
arr1.dtype
# If no specific data type is specified , It's usually float64
Data type symbol
string_ Fixed length string type , One byte per character
unicode_ Fixed length unicode type , The number of bytes depends on the platform used
float64 Standard single precision floating point numbers
…
2. How to change the data type
You can specify the data type when creating data :
arr = np.array([1,3,4,1],dtype = np.int64)
If the array has been established, it needs to be changed , You can do the following :
arr = arr.astype(np.unicode)
边栏推荐
- 数据库原理期末复习
- Apache startup failed phpstudy Apache startup failed
- Servlet的生命周期
- Allocation exception Servlet
- 【Rust笔记】05-错误处理
- MySQL index types B-tree and hash
- Animation_ IK overview
- Gif remove blank frame frame number adjustment
- [concurrent programming] synchronization container, concurrent container, blocking queue, double ended queue and work secret
- [concurrent programming] Table hopping and blocking queue
猜你喜欢

Advanced OSG collision detection

Creation of osgearth earth files to the earth ------ osgearth rendering engine series (1)

Simple demo of solving BP neural network by gradient descent method

JS non Boolean operation - learning notes

Query XML documents with XPath

基于SSM的校园失物招领平台,源码,数据库脚本,项目导入运行视频教程,论文撰写教程

Analysis of Alibaba canal principle

单调栈-503. 下一个更大元素 II

第一个Servlet

Chocolate installation
随机推荐
Monotonic stack -42 Connect rainwater
Animation_ IK overview
【Rust 笔记】11-实用特型
Monotonic stack -84 The largest rectangle in the histogram
Binary to decimal, decimal to binary
PHP uses foreach to get a value in a two-dimensional associative array (with instances)
Gradle's method of dynamically modifying APK package name
Cloudcompare learning (1) - cloudcompare compilation and common plug-in implementation
【Rust 笔记】13-迭代器(上)
Development material set
How does unity fixedupdate call at a fixed frame rate
Unity notes 1
[MySQL] MySQL Performance Optimization Practice: introduction of database lock and index search principle
【Rust 笔记】08-枚举与模式
Dealing with duplicate data in Excel with xlwings
JS non Boolean operation - learning notes
Notes on understanding applets 2022/7/3
PHP function date (), y-m-d h:i:s in English case
Osgearth topographic shading map drawing
Installation of PHP FPM software +openresty cache construction