精华内容
下载资源
问答
  • np.arange.reshape
    千次阅读
    2020-03-20 09:59:12
    # 6.如何找到二维数组np.arange(9).reshape(3,3)每一行中的最大值 ?
    array=np.arange(9).reshape(3,3)
    max_num=np.max(array,axis=0)# axis=0按行进行重复
    print(max_num)
    
    [6 7 8]
    
    更多相关内容
  • np.arange()用法,Python numpy.arange()用法

    千次阅读 2021-06-21 10:30:01
    np.arange([start, ]stop, [step, ]dtype=None) start : 起始值,默认值为0,Optional(可选)。 end : 结束值(不含)。 step : 步长,默认值为1,Optional(可选)。 dtype :Optional(可选),默认为None,从其他...

    numpy常用函数之arange函数

    np.arange([start, ]stop, [step, ]dtype=None)

    start : 起始值,默认值为0,Optional(可选)。
    end : 结束值(不含)。
    step : 步长,默认值为1
    dtype :默认为None,从其他输入值中推测,Optional(可选)。。

    用法:分为一个参数,两个参数,三个参数三种情况

    1. 一个参数时:

    (1)参数值 为 终点
    (2)起点 取 默认值0
    (3)步长 取 默认值1
    import numpy 
    print(numpy.arange(6)) #从 0 到 5 ,不包括 6
    
    [0 1 2 3 4 5]
    

    2. 两个参数时:

    (1)第一个参数为起点
    (2)第二个参数为终点(不包括)
    (3)步长取默认值 1
      注:包前不包后
    print(numpy.arange(6, 10)) #从 6 到 9,不包括10,[6,9)
     
    [6 7 8 9]
    

    3. 三个参数时

    (1)第一个参数为起点
    (2)第二个参数为终点
    (3)第三个参数为步长
       注: 步长支持小数
    print( numpy.arange( 6 , 20 , 2 ) )  # 起点是 5,终点是 20,步长为 2
     
    
    [ 6  8 10 12 14 16 18]
    
    print( np.arange( 6 , 20 , 1.5 ) )  #步长支持小数
    
    [ 6.   7.5  9.  10.5 12.  13.5 15.  16.5 18.  19.5]
    
    
    展开全文
  • np.arange() 详细教程

    千次阅读 2020-11-27 08:37:24
    NumPyis the fundamental Python library for numerical computing.... NumPy offers a lot ofarray creation routinesfor different circumstances.arange()is one such function based onnumerical ranges. It...

    NumPy is the fundamental Python library for numerical computing. Its most important type is an array type called ndarray. NumPy offers a lot of array creation routines for different circumstances. arange() is one such function based on numerical ranges. It’s often referred to as np.arange() because np is a widely used abbreviation for NumPy.

    Creating NumPy arrays is important when you’re working with other Python libraries that rely on them, like SciPyPandas, Matplotlib, scikit-learn, and more. NumPy is suitable for creating and working with arrays because it offers useful routines, enables performance boosts, and allows you to write concise code.

    By the end of this article, you’ll know:

    • What np.arange() is
    • How to use np.arange()
    • How np.arange() compares to the Python built-in class range
    • Which routines are similar to np.arange()

    Let’s see np.arange() in action!

    Free Bonus: Click here to get access to a free NumPy Resources Guide that points you to the best tutorials, videos, and books for improving your NumPy skills.

     

     Remove ads

    Return Value and Parameters of np.arange()

    NumPy arange() is one of the array creation routines based on numerical ranges. It creates an instance of ndarray with evenly spaced values and returns the reference to it.

    You can define the interval of the values contained in an array, space between them, and their type with four parameters of arange():

    numpy.arange([start, ]stop, [step, ], dtype=None) -> numpy.ndarray
    

    The first three parameters determine the range of the values, while the fourth specifies the type of the elements:

    1. start is the number (integer or decimal) that defines the first value in the array.
    2. stop is the number that defines the end of the array and isn’t included in the array.
    3. step is the number that defines the spacing (difference) between each two consecutive values in the array and defaults to 1.
    4. dtype is the type of the elements of the output array and defaults to None.

    step can’t be zero. Otherwise, you’ll get a ZeroDivisionError. You can’t move away anywhere from start if the increment or decrement is 0.

    If dtype is omitted, arange() will try to deduce the type of the array elements from the types of startstop, and step.

    You can find more information on the parameters and the return value of arange() in the official documentation.

    Range Arguments of np.arange()

    The arguments of NumPy arange() that define the values contained in the array correspond to the numeric parameters startstop, and step. You have to pass at least one of them.

    The following examples will show you how arange() behaves depending on the number of arguments and their values.

    Providing All Range Arguments

    When working with NumPy routines, you have to import NumPy first:

    >>>

    >>> import numpy as np
    

    Now, you have NumPy imported and you’re ready to apply arange().

    Let’s see a first example of how to use NumPy arange():

    >>>

    >>> np.arange(start=1, stop=10, step=3)
    array([1, 4, 7])
    

    In this example, start is 1. Therefore, the first element of the obtained array is 1step is 3, which is why your second value is 1+3, that is 4, while the third value in the array is 4+3, which equals 7.

    Following this pattern, the next value would be 10 (7+3), but counting must be ended beforestop is reached, so this one is not included.

    You can pass startstop, and step as positional arguments as well:

    >>>

    >>> np.arange(1, 10, 3)
    array([1, 4, 7])
    

    This code sample is equivalent to, but more concise than the previous one.

    The value of stop is not included in an array. That’s why you can obtain identical results with different stop values:

    >>>

    >>> np.arange(1, 8, 3)
    array([1, 4, 7])
    

    This code sample returns the array with the same values as the previous two. You can get the same result with any value of stop strictly greater than 7 and less than or equal to 10.

    However, if you make stop greater than 10, then counting is going to end after 10 is reached:

    >>>

    >>> np.arange(1, 10.1, 3)
    array([ 1.,  4.,  7., 10.])
    

    In this case, you get the array with four elements that includes 10.

    Notice that this example creates an array of floating-point numbers, unlike the previous one. That’s because you haven’t defined dtype, and arange() deduced it for you. You’ll learn more about this later in the article.

    You can see the graphical representations of these three examples in the figure below:

    NumPy arange() in action

    start is shown in green, stop in red, while step and the values contained in the arrays are blue.

    As you can see from the figure above, the first two examples have three values (14, and 7) counted. They don’t allow 10 to be included. In the third example, stop is larger than 10, and it is contained in the resulting array.

     

     Remove ads

    Providing Two Range Arguments

    You can omit step. In this case, arange() uses its default value of 1. The following two statements are equivalent:

    >>>

    >>> np.arange(start=1, stop=10, step=1)
    array([1, 2, 3, 4, 5, 6, 7, 8, 9])
    >>> np.arange(start=1, stop=10)
    array([1, 2, 3, 4, 5, 6, 7, 8, 9])
    

    The second statement is shorter. step, which defaults to 1, is what’s usually intuitively expected.

    Using arange() with the increment 1 is a very common case in practice. Again, you can write the previous example more concisely with the positional arguments start and stop:

    >>>

    >>> np.arange(1, 10)
    array([1, 2, 3, 4, 5, 6, 7, 8, 9])
    

    This is an intuitive and concise way to invoke arange(). Using the keyword arguments in this example doesn’t really improve readability.

    Note: If you provide two positional arguments, then the first one is start and the second is stop.

    Providing One Range Argument

    You have to provide at least one argument to arange(). To be more precise, you have to provide start.

    But what happens if you omit stop? How does arange() knows when to stop counting? In this case, the array starts at 0 and ends before the value of start is reached! Again, the default value of step is 1.

    In other words, arange() assumes that you’ve provided stop (instead of start) and that startis 0 and step is 1.

    Let’s see an example where you want to start an array with 0, increasing the values by 1, and stop before 10:

    >>>

    >>> np.arange(start=0, stop=10, step=1)
    array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
    >>> np.arange(0, 10, 1)
    array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
    >>> np.arange(start=0, stop=10)
    array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
    >>> np.arange(0, 10)
    array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
    

    These code samples are okay. They work as shown in the previous examples. There’s an even shorter and cleaner, but still intuitive, way to do the same thing. You can just provide a single positional argument:

    >>>

    >>> np.arange(10)  # Stop is 10, start is 0, and step is 1!
    array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
    

    This is the most usual way to create a NumPy array that starts at zero and has an increment of one.

    Note: The single argument defines where the counting stops. The output array starts at 0 and has an increment of 1.

    If you try to explicitly provide stop without start, then you’ll get a TypeError:

    >>>

    >>> np.arange(stop=10)
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: arange() missing required argument 'start' (pos 1)
    

    You got the error because arange() doesn’t allow you to explicitly avoid the first argument that corresponds to start. If you provide a single argument, then it has to be start, but arange() will use it to define where the counting stops.

     

     Remove ads

    Providing Negative Arguments

    If you provide negative values for start or both start and stop, and have a positive step, then arange() will work the same way as with all positive arguments:

    >>>

    >>> np.arange(-5, -1)
    array([-5, -4, -3, -2])
    >>> np.arange(-8, -2, 2)
    array([-8, -6, -4])
    >>> np.arange(-5, 6, 4)
    array([-5, -1,  3])
    

    This behavior is fully consistent with the previous examples. The counting begins with the value of start, incrementing repeatedly by step, and ending before stop is reached.

    Counting Backwards

    Sometimes you’ll want an array with the values decrementing from left to right. In such cases, you can use arange() with a negative value for step, and with a start greater than stop:

    >>>

    >>> np.arange(5, 1, -1)
    array([5, 4, 3, 2])
    >>> np.arange(7, 0, -3)
    array([7, 4, 1])
    

    In this example, notice the following pattern: the obtained array starts with the value of the first argument and decrements for step towards the value of the second argument.

    In the last statement, start is 7, and the resulting array begins with this value. step is -3 so the second value is 7+(−3), that is 4. The third value is 4+(−3), or 1. Counting stops here since stop (0) is reached before the next value (-2).

    You can see the graphical representations of this example in the figure below:

    NumPy arange() in action

    Again, start is shown in green, stop in red, while step and the values contained in the array are blue.

    This time, the arrows show the direction from right to left. That’s because start is greater than stopstep is negative, and you’re basically counting backwards.

    The previous example produces the same result as the following:

    >>>

    >>> np.arange(1, 8, 3)[::-1]
    array([7, 4, 1])
    >>> np.flip(np.arange(1, 8, 3))
    array([7, 4, 1])
    

    However, the variant with the negative value of step is more elegant and concise.

    Getting Empty Arrays

    There are several edge cases where you can obtain empty NumPy arrays with arange(). These are regular instances of numpy.ndarray without any elements.

    If you provide equal values for start and stop, then you’ll get an empty array:

    >>>

    >>> np.arange(2, 2)
    array([], dtype=int64)
    

    This is because counting ends before the value of stop is reached. Since the value of start is equal to stop, it can’t be reached and included in the resulting array as well.

    One of the unusual cases is when start is greater than stop and step is positive, or when start is less than stop and step is negative:

    >>>

    >>> np.arange(8, 2, 1)
    array([], dtype=int64)
    >>> np.arange(2, 8, -1)
    array([], dtype=int64)
    

    As you can see, these examples result with empty arrays, not with errors.

     

     Remove ads

    Data Types of np.arange()

    The types of the elements in NumPy arrays are an important aspect of using them. When working with arange(), you can specify the type of elements with the parameter dtype.

    Note: Here are a few important points about the types of the elements contained in NumPy arrays:

    • All elements in a NumPy array are of the same type called dtype (short for data type).
    • NumPy dtypes allow for more granularity than Python’s built-in numeric types.
    • In some cases, NumPy dtypes have aliases that correspond to the names of Python built-in types.
    • Usually, NumPy routines can accept Python numeric types and vice versa.
    • Some NumPy dtypes have platform-dependent definitions.

    If you want to learn more about the dtypes of NumPy arrays, then please read the official documentation.

    You are free to omit dtype. In this case, arange() will try to deduce the dtype of the resulting array. It depends on the types of startstop, and step, as you can see in the following example:

    >>>

    >>> x = np.arange(5)
    >>> x
    array([0, 1, 2, 3, 4])
    >>> x.dtype
    dtype('int64')
    >>> x.itemsize  # In bytes
    8
    

    Here, there is one argument (5) that defines the range of values. Its type is int. That’s why the dtype of the array x will be one of the integer types provided by NumPy. In this case, NumPy chooses the int64 dtype by default. This is a 64-bit (8-bytes) integer type.

    The array in the previous example is equivalent to this one:

    >>>

    >>> x = np.arange(5, dtype=int)
    >>> x
    array([0, 1, 2, 3, 4])
    >>> x.dtype
    dtype('int64')
    

    The argument dtype=int doesn’t refer to Python int. It translates to NumPy int64 or simply np.int.

    NumPy offers you several integer fixed-sized dtypes that differ in memory and limits:

    • np.int8: 8-bit signed integer (from -128 to 127)
    • np.uint8: 8-bit unsigned integer (from 0 to 255)
    • np.int16: 16-bit signed integer (from -32768 to 32767)
    • np.uint16: 16-bit unsigned integer (from 0 to 65535)
    • np.int32: 32-bit signed integer (from -2**31 to 2**31-1)
    • np.uint32: 32-bit unsigned integer (from 0 to 2**32-1)
    • np.int64: 64-bit signed integer (from -2**63 to 2**63-1)
    • np.uint64: 64-bit unsigned integer (from 0 to 2**64-1)

    If you want other integer types for the elements of your array, then just specify dtype:

    >>>

    >>> x = np.arange(5, dtype=np.int32)
    >>> x
    array([0, 1, 2, 3, 4], dtype=int32)
    >>> x.dtype
    dtype('int32')
    >>> x.itemsize  # In bytes
    4
    

    Now the resulting array has the same values as in the previous case, but the types and sizes of the elements differ. The argument dtype=np.int32 (or dtype='int32') forces the size of each element of x to be 32 bits (4 bytes).

    When your argument is a decimal number instead of integer, the dtype will be some NumPy floating-point type, in this case float64:

    >>>

    >>> y = np.arange(5.0)
    >>> y
    array([0., 1., 2., 3., 4.])
    >>> y.dtype
    dtype('float64')
    

    The values of the elements are the same in the last four examples, but the dtypes differ.

    Generally, when you provide at least one floating-point argument to arange(), the resulting array will have floating-point elements, even when other arguments are integers:

    >>>

    >>> np.arange(1, 5.1)
    array([1., 2., 3., 4., 5.])
    >>> np.arange(1, 5.1).dtype
    dtype('float64')
    >>> np.arange(0, 9, 1.5)
    array([0. , 1.5, 3. , 4.5, 6. , 7.5])
    >>> np.arange(0, 9, 1.5).dtype
    dtype('float64')
    

    In the examples above, start is an integer, but the dtype is np.float64 because stop or stepare floating-point numbers.

    If you specify dtype, then arange() will try to produce an array with the elements of the provided data type:

    >>>

    >>> y = np.arange(5, dtype=float)
    >>> y
    array([0., 1., 2., 3., 4.])
    >>> y.dtype
    dtype('float64')
    

    The argument dtype=float here translates to NumPy float64, that is np.float. It doesn’trefer to Python float. Fixed-size aliases for float64 are np.float64 and np.float_.

    When you need a floating-point dtype with lower precision and size (in bytes), you can explicitly specify that:

    >>>

    >>> z = np.arange(5, dtype=np.float32)
    >>> z
    array([0., 1., 2., 3., 4.], dtype=float32)
    >>> z.dtype
    dtype('float32')
    

    Using dtype=np.float32 (or dtype='float32') makes each element of the array z 32 bits (4 bytes) large. The size of each element of y is 64 bits (8 bytes):

    >>>

    >>> y.itemsize  # In bytes
    8
    >>> z.itemsize  # In bytes
    4
    

    The difference between the elements of y and z, and generally between np.float64 and np.float32, is the memory used and the precision: the first is larger and more precise than the latter.

    In many cases, you won’t notice this difference. However, sometimes it’s important. For example, TensorFlow uses float32 and int32. Similarly, when you’re working with images, even smaller types like uint8 are used.

    When step is not an integer, the results might be inconsistent due to the limitations of floating-point arithmetic.

     

     Remove ads

    Beyond Simple Ranges With np.arange()

    You can conveniently combine arange() with operators (like +-*/**, and so on) and other NumPy routines (such as abs() or sin()) to produce the ranges of output values:

    >>>

    >>> x = np.arange(5)
    >>> x
    array([0, 1, 2, 3, 4])
    >>> 2**x
    array([ 1,  2,  4,  8, 16])
    >>> y = np.arange(-1, 1.1, 0.5)
    >>> y
    array([-1. , -0.5,  0. ,  0.5,  1. ])
    >>> np.abs(y)
    array([1. , 0.5, 0. , 0.5, 1. ])
    >>> z = np.arange(10)
    >>> np.sin(z)
    array([ 0.        ,  0.84147098,  0.90929743,  0.14112001, -0.7568025 ,
           -0.95892427, -0.2794155 ,  0.6569866 ,  0.98935825,  0.41211849])
    

    This is particularly suitable when you want to create a plot in Matplotlib.

    If you need a multidimensional array, then you can combine arange() with .reshape() or similar functions and methods:

    >>>

    >>> a = np.arange(6).reshape((2, 3))
    >>> a
    array([[0, 1, 2],
           [3, 4, 5]])
    >>> a.shape
    (2, 3)
    >>> a.ndim
    2
    

    That’s how you can obtain the ndarray instance with the elements [0, 1, 2, 3, 4, 5] and reshape it to a two-dimensional array.

    Comparison of range and np.arange()

    Python has a built-in class range, similar to NumPy arange() to some extent. range and np.arange() have important distinctions related to application and performance. You’ll see their differences and similarities.

    The main difference between the two is that range is a built-in Python class, while arange()is a function that belongs to a third-party library (NumPy).

    In addition, their purposes are different! Generally, range is more suitable when you need to iterate using the Python for loop. If you want to create a NumPy array, and apply fast loops under the hood, then arange() is a much better solution.

    Parameters and Outputs

    Both range and arange() have the same parameters that define the ranges of the obtained numbers:

    • start
    • stop
    • step

    You apply these parameters similarly, even in the cases when start and stop are equal.

    However, when working with range:

    • You have to provide integer arguments. Otherwise, you’ll get a TypeError.
    • You can’t specify the type of the yielded numbers. It’s always int.

    range and arange() also differ in their return types:

    • range creates an instance of this class that has the same features as other sequences (like list and tuple), such as membership, concatenation, repetition, slicing, comparison, length check, and more.
    • arange() returns an instance of NumPy ndarray.

    Creating Sequences

    You can apply range to create an instance of list or tuple with evenly spaced numbers within a predefined range. You might find comprehensions particularly suitable for this purpose.

    However, creating and manipulating NumPy arrays is often faster and more elegant than working with lists or tuples.

    Let’s compare the performance of creating a list using the comprehension against an equivalent NumPy ndarray with arange():

    >>>

    >>> import timeit
    >>> n = 1
    >>> timeit.timeit(f'x = [i**2 for i in range({n})]')
    >>> timeit.timeit(f'x = np.arange({n})**2', setup='import numpy as np')
    

    Repeating this code for varying values of n yielded the following results on my machine:

    Size: nTime Per Loop: rangeTime Per Loop: arange()Ratio
    1497 ns1.14 µs0.41
    102.24 µs1.28 µs1.74
    10020.0 µs1.37 µs14.6
    1,000211 µs2.92 µs72.3

    These results might vary, but clearly you can create a NumPy array much faster than a list, except for sequences of very small lengths. (The application often brings additional performance benefits!)

    This is because NumPy performs many operations, including looping, on the C-level. In addition, NumPy is optimized for working with vectors and avoids some Python-related overhead.

     

     Remove ads

    Python for Loops

    If you need values to iterate over in a Python for loop, then range is usually a better solution. According to the official Python documentation:

    The advantage of the range type over a regular list or tuple is that a range object will always take the same (small) amount of memory, no matter the size of the range it represents (as it only stores the startstop and step values calculating individual items and subranges as needed). (Source)

    range is often faster than arange() when used in Python for loops, especially when there’s a possibility to break out of a loop soon. This is because range generates numbers in the lazy fashion, as they are required, one at a time.

    In contrast, arange() generates all the numbers at the beginning.

    For more information about range, you can check The Python range() Function (Guide) and the official documentation.

    Other Routines Based on Numerical Ranges

    In addition to arange(), you can apply other NumPy array creation routines based on numerical ranges:

    • linspace() is similar to arange() in that it returns evenly spaced numbers. But you can specify the number of values to generate as well as whether to include the endpoint and whether to create multiple arrays at once.
    • logspace() and geomspace() are similar to linspace(), except the returned numbers are spaced evenly on the logarithmic scale.
    • meshgrid()ogrid(), and mgrid() return grids of points represented as arrays.

    All these functions have their specifics and use cases. You can choose the appropriate one according to your needs.

    As you already saw, NumPy contains more routines to create instances of ndarray.

    Quick Summary

    To use NumPy arange(), you need to import numpy first:

    >>>

    >>> import numpy as np
    

    Here’s a table with a few examples that summarize how to use NumPy arange(). It could be helpful to memorize various uses:

    ExampleResult
    np.arange(start=1, stop=10, step=3)array([1, 4, 7])
    np.arange(1, 10, 3)array([1, 4, 7])
    np.arange(1, 10, 3, dtype=float)array([1., 4., 7.])
    np.arange(1.0, 10, 3)array([1., 4., 7.])
    np.arange(0, 1.1, 0.5)array([0. , 0.5, 1. ])
    np.arange(2, 6)array([2, 3, 4, 5])
    np.arange(5)array([0, 1, 2, 3, 4])
    np.arange(-8, -2, 2)array([-8, -6, -4])
    np.arange(7, 0, -3)array([7, 4, 1])
    np.arange(8, 2)array([])

    Don’t forget that you can also influence the memory used for your arrays by specifying NumPy dtypes with the parameter dtype.

    Conclusion

    You now know how to use NumPy arange(). The function np.arange() is one of the fundamental NumPy routines often used to create instances of NumPy ndarray. It has four arguments:

    1. start: the first value of the array
    2. stop: where the array ends
    3. step: the increment or decrement
    4. dtype: the type of the elements of the array

    You also learned how NumPy arange() compares with the Python built-in class range when you’re creating sequences and generating values to iterate over.

    You saw that there are other NumPy array creation routines based on numerical ranges, such as linspace()logspace()meshgrid(), and so on.

    If you have questions or comments, please put them in the comment section below.

    展开全文
  • df=pd.DataFrame(np.repeat(np.arange(5).reshape([1, -1]), 3, axis=0), columns=['a','b','c','d','e']) print(df) # 为了后续区分清晰,分别将第二行和第三行加10和20 df.loc[1] += 10 df.loc[2] += 20 print..

    code:

    import pandas as pd
    import numpy as np
    
    # 创建一个dataframe, 三行,每一行分别是0~5
    df=pd.DataFrame(np.repeat(np.arange(5).reshape([1, -1]), 3, axis=0), columns=['a','b','c','d','e'])
    print(df)
    
    # 为了后续区分清晰,分别将第二行和第三行加10和20
    df.loc[1] += 10
    df.loc[2] += 20
    print('df change to:\n', df)
    
    # 获取第三行b列的值——先取行再取列
    df.loc[2, 'b']
    
    # 获取第三行b列的值——先取列再取行
    df['b'][2]

    也就是说df.loc[2,'b'] == df['b'][2]

    展开全文
  • # 2.如何 交换数组np.arange(9).reshape(3,3)中的第1列和第2列? a = np.arange(9).reshape(3,3) a = a[:,[1,0,2]] print(a) [[1 0 2] [4 3 5] [7 6 8]]
  • # 3.如何交换数组np.arange(9).reshape(3,3)中的第1行和第2行? a = np.arange(9).reshape(3,3) a = a[[1,0,2],:] print(a) [[3 4 5] [0 1 2] [6 7 8]]
  • Numpy中reshape的使用方法为:numpy.reshape(a, newshape, order=’C’) 参数详解: 1.a: type:array_like(伪数组,可以看成是对数组的扩展,但是不影响原始数组。) 需要reshape的array 2.newshape:新的数组 新形状应...
  • np.transpose(np.reshape(np.array([np.arange(7)] * 7 * 2,),(2,7,7)),(1,2,0)) 前言:在数据预处理时,遇到了以上代码。当时一脸懵逼,一步步刨解下来,才豁然开朗,因此,记录如下。import numpy as npa=np.a...
  • Python 基础——range() 与 np.arange()

    千次阅读 2018-05-23 14:46:11
    range()不支持步长为小数,np.arange()支持步长为小数两者都可用于迭代两者都有三个参数,以第一个参数为起点,第三个参数为步长,截止到第二个参数之前的不包括第二个参数的数据序列 某种意...
  • np.reshape中-1详解

    2021-01-28 17:14:17
    a = np.arange(12,0,-1) array([12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]) 当对数组reshape时代表改变数组的形状为一维、二维、三维、n维 1. 二维: 一个为确定的数,另一个为-1 a.reshape(2, -1) array([[12, 11, ...
  • Python numpy.arange() 使用实例

    千次阅读 2020-12-06 03:20:03
    Example 1def roll_zeropad(a, shift, axis=None):a = np.asanyarray(a)if shift == 0: return aif axis is None:n = a.sizereshape = Trueelse:n = a.shape[axis]reshape = Falseif np.abs(shift) > n:res = np....
  • (1)range()和xrange()函数 在 python 2.x 版本中,同时存在range()和xrange()函数,其中,range()返回值是一个列表,xrange()返回值是一个迭代值; 在 python 3.x 版本中,取消了xrange()的定义,仅保留了...
  • Python函数:np.reshape()

    千次阅读 多人点赞 2019-10-25 17:26:02
    Python基本函数:np.reshape()一、用法 常用于矩阵规格变换,将矩阵转换为特定的行和列的矩阵           格式:a1.reshape(x,y) 注意:将矩阵a1转变成(x, y...
  • np.resize()和np.reshape()的区别

    千次阅读 2021-08-06 14:37:39
    a = np.arange(12) b = np.resize(a,(-1,6))#自动推导缺省的维度数目并减去1 print("b shape: ",b.shape) c = a.reshape(-1,6)#自动推导缺省的维度数目 print("c shape: ",c.shape) 输出 b shape: (1, 6) c shape: ...
  • np.reshape(-1,1,3,3)用法

    千次阅读 2021-06-29 14:50:00
    a=np.arange(1,10) b1=a.reshape(-1,1)#将数组展开成1列的形式,行数=9/1,所以是9行列 b2=a.reshape(3,-1)#将数组展开成3行的格式,列数按照d=a*b/m展开 b3=a.reshape(-1,1,3,3)#按行展开,函数为9/1,在改变为1部分...
  • np.reshape()用法

    千次阅读 2019-10-12 10:47:55
    np.reshape()用法 作用: 修改数组矩阵结构 ... np.arange(24).reshape(2,3,4) print('three:',three) three_reshape = np.reshape(three,(3,2,4)) print('three_reshape:',three_reshape) 效果: ...
  • numpy函数:arange(), reshape()用法

    千次阅读 2019-07-04 11:24:00
    arange()用于生成一维数组reshape()将一维数组转换为多维数组 import numpy as np print('默认一维为数组:', np.arange(5)) print('自定义起点一维数组:',np.arange(1, 5)) print('自定义起点步长一维数组...
  • np中有个生成等差序列的函数arange(),使用方法如下,本人是在阿里云上的ipython上进行操作的。如果要生成一个从数字0开始的,递增加1的数组,则只传入结尾的数组即可In [17]: np.arange(10) Out...
  • numpy函数:arange(),reshape()用法,

    万次阅读 多人点赞 2017-11-16 10:42:00
    import numpy as np默认一维为数组print(np.arange(5))自定义起点一维数组print(np.arange(1, 5))自定义起点步长一维数据print(np.arange(2, ...print(data.reshape((2, 4)))用一维数组生成三维数组data = np.arange(60
  • Python中的numpy.reshape用法

    千次阅读 2022-04-14 20:18:38
    Python np.reshape用法
  • np.reshape()函数,np.flatten()

    千次阅读 2019-03-25 00:41:26
    #注意reshape((2,3))里面要加括号,Returns an array containing the same data with a new shape. #reshape函数不是对原地操作,有返回值 import numpy as np # 新建一个二维列表 t1 = np.array([[1, 2, 3], [4, ...
  • 1.np.reshape与matlab中reshape区别 np.reshape是按行重组的,而matlab是按列重组的。 2.多axis的np.mean分析 np.mean(A,0)与matlab中的mean(A,1)都是按行取...a=np.arange(18) print(a) #输出 [ 0 1 2 3 4 5 6 7 ...
  • np.resize和np.reshape()的区别

    万次阅读 2018-10-21 19:05:45
    resize:给定一个数组,和特定维度,将会返回一个给定维度形式的新数组。  如果新数组比原数组大,则将会... a=np.array([[0,1],[2,3]]) &gt;&gt;&gt; np.resize(a,(2,3)) array([[0, 1, 2], [3, 0...
  • print('默认是一维为数组:', np.arange(5))#参数表示从0到5截至,不包括5 print('自定义起点一维数组:',np.arange(1, 5))#参数表示从1到5截至,不包括5 print('自定义起点步长一维数组:',np.arange(2, 10, 2))#参数...
  • Python numpy.reshape函数方法的使用

    千次阅读 2020-12-03 06:17:05
    numpy.reshapenumpy.reshape(a, newshape, order='C') [source]在不更改数据的情况下为数组赋予新的shape。参数 :a :array_like要重塑的数组。newshape :int 或int类型的tuple新形状应与原始形状兼容。 如果是...
  • a = np.arange(24).reshape(2,3,4) array([[[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]], [[12, 13, 14, 15], [16, 17, 18, 19], [20, 21, 22, 23]]]) a.reshape(2*3,4) array([[ 0, 1, 2, 3], [ 4,
  • np.hstack(),np.concatenate()与np.stack()是numpy中实现数组水平组合的三个函数。 1. np.hsatck(arrays) np.hstack(arrays)是其中最简单的一个函数。 它接收的参数是一个元组,...a = np.arange(9).reshape(3, 3...
  • np.reshape()和torch.view()

    千次阅读 2019-04-18 19:22:06
    import torch ...a = np.arange(24) b = a.reshape(4,3,2) print('b', b) b = torch.tensor(a) c = b.view(4,3,2) print('c',c) out: /usr/bin/python3 /home/thu/test_python/view_reshpe.py b...
  • a.reshape(new_shape) 返回一个修改后的数组,但不会更改原始数组 #!/usr/bin/python # -*- coding: utf-8 -*- import numpy as np a = np.array([[3.0, 9.0, 8.0, 0.0],[1.0, 4.0, 6.0, 5.0],[1.0, 9.0, 3.0, 1.0]]...
  • npreshape函数

    万次阅读 2020-09-27 10:37:06
    1、np.shape函数 np.reshape(a, newshape, order='C') a:Array to be reshaped. newshape:int or tuple of ints ...a = np.arange(6).reshape((3, 2)) 将a转化为3*2的形状 array([[0, 1], ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 78,734
精华内容 31,493
关键字:

np.arange.reshape