Knowledge (XXG)

NumPy

Source 📝

44: 3398: 228: 154: 35: 416:
was written as a more flexible replacement for Numeric. Like Numeric, it too is now deprecated. Numarray had faster operations for large arrays, but was slower than Numeric on small ones, so for a time both packages were used in parallel for different use cases. The last version of Numeric (v24.2)
603:
extensions to the CPython interpreter without the need to copy data around, giving a degree of compatibility with existing numerical libraries. This functionality is exploited by the SciPy package, which wraps a number of such libraries (notably BLAS and LAPACK). NumPy has built-in support for
642:
of some operations from constant to linear, because temporary arrays must be created that are as large as the inputs. Runtime compilation of numerical code has been implemented by several groups to avoid these problems; open source solutions that interoperate with NumPy include numexpr and
470:
equivalents due to the absence of compiler optimization. NumPy addresses the slowness problem partly by providing multidimensional arrays and functions and operators that operate efficiently on arrays; using these requires rewriting some code, mostly
506:
package that provides MATLAB-like plotting functionality. Although matlab can perform sparse matrix operations, numpy alone cannot perform such operations and requires the use of the scipy.sparse library. Internally, both MATLAB and NumPy rely on
428:
In early 2005, NumPy developer Travis Oliphant wanted to unify the community around a single array package and ported Numarray's features to Numeric, releasing the result as NumPy 1.0 in 2006. This new project was part of
3544: 3487: 433:. To avoid installing the large SciPy package just to get an array object, this new package was separated and called NumPy. Support for Python 3 was added in 2011 with NumPy version 1.5.0. 328:
The Python programming language was not originally designed for numerical computing, but attracted the attention of the scientific and engineering community early on. In 1995 the
624:
operation does not actually link the two arrays but returns a new one, filled with the entries from both given arrays in sequence. Reshaping the dimensionality of an array with
628:
is only possible as long as the number of elements in the array does not change. These circumstances originate from the fact that NumPy's arrays must be views on contiguous
3534: 584:
views on memory. In contrast to Python's built-in list data structure, these arrays are homogeneously typed: all elements of a single array must be of the same type.
658:
scientific computing applications have requirements that exceed the capabilities of the NumPy arrays. For example, NumPy arrays are usually loaded into a computer's
3529: 3524: 638:
that are not expressible as a vectorized operation will typically run slowly because they must be implemented in "pure Python", while vectorization may increase
389: 620:
routine to extend arrays actually creates new arrays of the desired shape and padding values, copies the given array into the new one and returns it. NumPy's
542:
with other arrays are very efficient ways to access specific pixels of an image. The NumPy array as universal data structure in OpenCV for images, extracted
686:
applications rely on. As a result, several alternative array implementations have arisen in the scientific python ecosystem over the recent years, such as
420:
There was a desire to get Numeric into the Python standard library, but Guido van Rossum decided that the code was not maintainable in its state then.
3430: 2799: 534:
utilize NumPy arrays to store and operate on data. Since images with multiple channels are simply represented as three-dimensional arrays, indexing,
3539: 3549: 397: 2749: 3373: 3354: 3335: 3128: 385: 3509: 2531: 3514: 1767:# OpenCV images are interpreted as BGR, the depth-stacked array will be written to an 8bit RGB PNG-file called 'gradients.png' 2866:
van der Walt, Stéfan; Colbert, S. Chris; Varoquaux, Gaël (2011). "The NumPy array: a structure for efficient numerical computation".
269: 508: 564:
NumPy also provides a C API, which allows Python code to interoperate with external libraries written in low-level languages.
294: 706:
or mimic it, so that users can change their array implementation with minimal changes to their code required. A library named
3519: 440:
started development on an implementation of the NumPy API for PyPy. As of 2023, it is not yet fully compatible with NumPy.
3440: 3423: 596: 282: 167: 498:. Moreover, complementary Python packages are available; SciPy is a library that adds more MATLAB-like functionality and 482:
since they are both interpreted, and they both allow the user to write fast programs as long as most operations work on
133: 311:
created NumPy by incorporating features of the competing Numarray into Numeric, with extensive modifications. NumPy is
2551: 345: 107: 43: 365: 547: 3416: 675: 543: 452: 377: 171: 417:
was released on 11 November 2005, while the last version of numarray (v1.5.2) was released on 24 August 2006.
360:
An implementation of a matrix package was completed by Jim Fulton, then generalized by Jim Hugunin and called
3043: 2964: 667: 558: 459: 2810: 3023: 679: 616:
Inserting or appending entries to an array is not as trivially possible as it is with Python's lists. The
588: 329: 300: 3084: 3220: 2885: 2761: 495: 312: 290: 286: 400:(LLNL) to take over as maintainer. Other early contributors include David Ascher, Konrad Hinsen and 3267: 719: 278: 190: 2777: 227: 3199: 2901: 2875: 2636: 605: 581: 487: 463: 364:(also variously known as the "Numerical Python extensions" or "NumPy"), with influences from the 195: 3005: 3466: 3369: 3350: 3331: 3244: 3124: 2719: 2672: 2654: 2618:
Charles R Harris; K. Jarrod Millman; Stéfan J. van der Walt; et al. (16 September 2020).
2536: 2526: 349: 3294: 2985: 648: 2919: 2893: 2769: 2680: 2662: 2646: 2627: 671: 639: 539: 523: 341: 243: 202: 178: 2842: 3403: 687: 659: 527: 503: 401: 337: 308: 63: 303:
to operate on these arrays. The predecessor of NumPy, Numeric, was originally created by
2889: 2765: 2619: 1680:# 256x256 pixel array with a horizontal gradient from 0 to 255 for the red color channel 153: 3397: 2667: 577: 516: 183: 3503: 3105: 2575: 683: 535: 3063: 2905: 873:# create an array with four equally spaced points starting with 0 and ending with 2. 494:, whereas NumPy is intrinsically integrated with Python, a more modern and complete 3476: 3471: 207: 2841:
David Ascher; Paul F. Dubois; Konrad Hinsen; Jim Hugunin; Travis Oliphant (1999).
2127:# compute all euclidean distances at once and return the index of the smallest one 670:. However, many linear algebra operations can be accelerated by executing them on 1710:# array of same size and type as r but filled with 0s for the green color channel 3408: 629: 304: 297: 490:. In comparison, MATLAB boasts a large number of additional toolboxes, notably 3461: 3347:
Python for Data Analysis : Data Wrangling with Pandas, NumPy, and IPython
3193: 2650: 2541: 691: 499: 472: 70: 58: 49: 34: 17: 2658: 698:
for computations on GPUs. Because of its popularity, these often implement a
1929:# if necessary, update minimum distance and index of the corresponding point 635: 2676: 315:
and has many contributors. NumPy is a NumFOCUS fiscally sponsored project.
2698: 2684: 3119:
McKinney, Wes (2014). "NumPy Basics: Arrays and Vectorized Computation".
2897: 2773: 663: 655: 551: 491: 467: 456: 2940: 2196:! Fortran subroutines only not functions--easier than JNI with C wrapper 340:
computing package; among its members was Python designer and maintainer
2546: 1731:# transposed r will give a vertical gradient for the blue color channel 600: 449: 373: 3481: 3150: 711: 699: 531: 512: 479: 393: 381: 369: 3145: 3366:
Python Data Science Handbook: Essential Tools for Working with Data
3195:
Shohei Hido - CuPy: A NumPy-compatible Library for GPU - PyCon 2018
2641: 718:
framework, has also shown potential for faster computing, being a '
662:, which might have insufficient capacity for the analysis of large 592: 3456: 2880: 2193:! Compile Fortran into python named module using intent statements 644: 483: 430: 142: 715: 707: 437: 3412: 3123:(First Edition, Third release ed.). O'Reilly. p. 79. 587:
Such arrays can also be views into memory buffers allocated by
2556: 703: 466:
written for this version of Python often run much slower than
695: 550:
and many more vastly simplifies the programming workflow and
3172: 1317:# create a 3x3 random matrix of values within scaled by 20 1047:# Functions can take both numbers and arrays as parameters. 307:
with contributions from several other developers. In 2005,
261: 1780:
Iterative Python algorithm and vectorized NumPy version.
252: 478:
Using NumPy in Python gives functionality comparable to
572:
The core functionality of NumPy is its "ndarray", for
3391: 2597: 666:. Further, NumPy operations are executed on a single 270: 249: 218: 1896:# compute the euclidean distance for each point to q 258: 3044:"PyPy Status Blog: NumPy funding and status update" 625: 621: 617: 255: 246: 213: 201: 189: 177: 163: 132: 106: 79: 69: 57: 3545:Python (programming language) scientific libraries 3364:VanderPlas, Jake (2016). "Introduction to NumPy". 48:Plot of y=sin(x) function, created with NumPy and 384:, and others. Hugunin, a graduate student at the 557:Importantly, many NumPy operations release the 285:, adding support for large, multi-dimensional 3424: 2748:Millman, K. Jarrod; Aivazis, Michael (2011). 2182:Quickly wrap native code for faster scripts. 561:, which allows for multithreaded processing. 390:Corporation for National Research Initiatives 8: 2963:Travis Oliphant and other SciPy developers. 674:of CPUs or of specialized hardware, such as 651:are static-compiling alternatives to these. 348:(in particular the indexing syntax) to make 3328:Scipy and Numpy: An Overview for Developers 2836: 2834: 2832: 2830: 3431: 3417: 3409: 3396: 3295:"Writing fast Fortran routines for Python" 2004:# # # Equivalent NumPy vectorization # # # 226: 152: 42: 33: 29: 3304:. University of California, Santa Barbara 2879: 2743: 2741: 2739: 2666: 2640: 2187:! Python Fortran native code call example 1392:# Starting with Python 3.5 and NumPy 1.10 2613: 2611: 336:was founded with the aim of defining an 27:Python library for numerical programming 3535:Numerical analysis software for Windows 2567: 3349:(2nd ed.). Sebastopol: O'Reilly. 3219:Entschev, Peter Andreas (2019-07-23). 2939:Travis E. Oliphant (7 December 2006). 2861: 2859: 2857: 2855: 398:Lawrence Livermore National Laboratory 3530:Numerical analysis software for macOS 3525:Numerical analysis software for Linux 2750:"Python for Scientists and Engineers" 455:of Python, which is a non-optimizing 386:Massachusetts Institute of Technology 7: 3006:"History_of_SciPy - SciPy wiki dump" 2868:Computing in Science and Engineering 2807:Computing in Science and Engineering 2754:Computing in Science and Engineering 2532:List of numerical-analysis software 293:, along with a large collection of 25: 2800:"Python for Scientific Computing" 2479:# or c,d = instead of a.c and a.d 1788:# # # Pure iterative Python # # # 3268:"A python vs. Fortran smackdown" 242: 3540:Numerical programming languages 3266:Worthey, Guy (3 January 2022). 3202:from the original on 2021-12-21 2720:"Indexing — NumPy v1.20 Manual" 3550:Software using the BSD license 2620:"Array programming with NumPy" 1: 2699:"NumFOCUS Sponsored Projects" 3368:. O'Reilly. pp. 33–96. 2199:! requires gfortran and make 368:family of languages, Basis, 3510:Array programming languages 3302:UCSB Engineering Department 3024:"NumPy 1.5.0 Release Notes" 2552:Row- and column-major order 1275:# solve the equation ax = b 690:for distributed arrays and 283:Python programming language 113:2.1.1 / 3 September 2024 3566: 3221:"Single-GPU CuPy Speedups" 568:The ndarray data structure 392:(CNRI) in 1997 to work on 3515:Free mathematics software 3447: 2986:"NumPy Sourceforge Files" 2651:10.1038/S41586-020-2649-2 2142:'Nearest point to q: 1968:'Nearest point to q: 1872:# iterate over all points 1584:Incorporation with OpenCV 396:, leaving Paul Dubois of 128: 102: 41: 32: 3121:Python for Data Analysis 3085:"NumPy for Matlab users" 2798:Travis Oliphant (2007). 2413: 2184: 1782: 1587: 1413: 1113: 930: 810: 729: 453:reference implementation 3439:Scientific software in 1776:Nearest-neighbor search 1749:'gradients.png' 1410:Multidimensional arrays 1365:# matrix multiplication 559:global interpreter lock 486:or matrices instead of 464:Mathematical algorithms 3345:McKinney, Wes (2017). 3326:Bressert, Eli (2012). 3245:"F2PY docs from NumPy" 2190:! f2py -c -m foo *.f90 330:special interest group 3520:Free science software 3106:"numpy release notes" 3083:The SciPy Community. 412:A new package called 115:; 19 days ago 2965:" Status of Numeric" 2898:10.1109/MCSE.2011.37 2774:10.1109/MCSE.2011.36 576:-dimensional array, 496:programming language 313:open-source software 2920:"Numarray Homepage" 2890:2011CSE....13b..22V 2766:2011CSE....13b...9M 2604:. NumPy developers. 2515:# foo.ftest.__doc__ 2509:'foo.ftest' 927:Universal functions 720:drop-in replacement 580:. These arrays are 526:of the widely used 2843:"Numerical Python" 2578:. 3 September 2024 1071:0.8414709848078965 448:NumPy targets the 388:(MIT), joined the 196:Numerical analysis 59:Original author(s) 3497: 3496: 3375:978-1-4919-1205-8 3356:978-1-4919-5766-0 3337:978-1-4493-0546-8 3130:978-1-449-31979-3 2635:(7825): 357–362. 2537:Theano (software) 2527:Array programming 710:, accelerated by 640:memory complexity 235: 234: 75:Community project 16:(Redirected from 3557: 3433: 3426: 3419: 3410: 3404:History of NumPy 3400: 3395: 3394: 3392:Official website 3379: 3360: 3341: 3314: 3313: 3311: 3309: 3299: 3290: 3284: 3283: 3281: 3279: 3263: 3257: 3256: 3254: 3252: 3241: 3235: 3234: 3232: 3231: 3216: 3210: 3209: 3208: 3207: 3190: 3184: 3183: 3181: 3179: 3169: 3163: 3162: 3160: 3158: 3144:Francesc Alted. 3141: 3135: 3134: 3116: 3110: 3109: 3102: 3096: 3095: 3093: 3091: 3080: 3074: 3073: 3071: 3070: 3064:"NumPyPy Status" 3060: 3054: 3053: 3051: 3050: 3040: 3034: 3033: 3031: 3030: 3020: 3014: 3013: 3002: 2996: 2995: 2993: 2992: 2982: 2976: 2975: 2973: 2971: 2960: 2954: 2953: 2951: 2949: 2936: 2930: 2929: 2927: 2926: 2916: 2910: 2909: 2883: 2863: 2850: 2849: 2847: 2838: 2825: 2824: 2822: 2821: 2815: 2809:. Archived from 2804: 2795: 2789: 2788: 2786: 2785: 2776:. Archived from 2745: 2734: 2733: 2731: 2730: 2716: 2710: 2709: 2707: 2706: 2695: 2689: 2688: 2670: 2644: 2624: 2615: 2606: 2605: 2594: 2588: 2587: 2585: 2583: 2572: 2516: 2513: 2510: 2507: 2504: 2501: 2498: 2495: 2492: 2489: 2486: 2483: 2480: 2477: 2474: 2471: 2468: 2465: 2462: 2459: 2456: 2453: 2450: 2447: 2444: 2441: 2438: 2435: 2432: 2429: 2426: 2423: 2420: 2417: 2410: 2407: 2404: 2401: 2398: 2395: 2392: 2389: 2386: 2383: 2380: 2377: 2374: 2371: 2368: 2365: 2362: 2359: 2356: 2353: 2350: 2347: 2344: 2341: 2338: 2335: 2332: 2329: 2326: 2323: 2320: 2317: 2314: 2311: 2308: 2305: 2302: 2299: 2296: 2293: 2290: 2287: 2284: 2281: 2278: 2275: 2272: 2269: 2266: 2263: 2260: 2257: 2254: 2251: 2248: 2245: 2242: 2239: 2236: 2233: 2230: 2227: 2224: 2221: 2218: 2215: 2212: 2209: 2206: 2203: 2200: 2197: 2194: 2191: 2188: 2173: 2170: 2167: 2164: 2161: 2158: 2155: 2152: 2149: 2146: 2143: 2140: 2137: 2134: 2131: 2128: 2125: 2122: 2119: 2116: 2113: 2110: 2107: 2104: 2101: 2098: 2095: 2092: 2089: 2086: 2083: 2080: 2077: 2074: 2071: 2068: 2065: 2062: 2059: 2056: 2053: 2050: 2047: 2044: 2041: 2038: 2035: 2032: 2029: 2026: 2023: 2020: 2017: 2014: 2011: 2008: 2005: 2002: 1999: 1996: 1993: 1990: 1987: 1984: 1981: 1978: 1975: 1972: 1969: 1966: 1963: 1960: 1957: 1954: 1951: 1948: 1945: 1942: 1939: 1936: 1933: 1930: 1927: 1924: 1921: 1918: 1915: 1912: 1909: 1906: 1903: 1900: 1897: 1894: 1891: 1888: 1885: 1882: 1879: 1876: 1873: 1870: 1867: 1864: 1861: 1858: 1855: 1852: 1849: 1846: 1843: 1840: 1837: 1834: 1831: 1828: 1825: 1822: 1819: 1816: 1813: 1810: 1807: 1804: 1801: 1798: 1795: 1792: 1789: 1786: 1771: 1768: 1765: 1762: 1759: 1756: 1753: 1750: 1747: 1744: 1741: 1738: 1735: 1732: 1729: 1726: 1723: 1720: 1717: 1714: 1711: 1708: 1705: 1702: 1699: 1696: 1693: 1690: 1687: 1684: 1681: 1678: 1675: 1672: 1669: 1666: 1663: 1660: 1657: 1654: 1651: 1648: 1645: 1642: 1639: 1636: 1633: 1630: 1627: 1624: 1621: 1618: 1615: 1612: 1609: 1606: 1603: 1600: 1597: 1594: 1591: 1579: 1576: 1573: 1570: 1567: 1564: 1561: 1558: 1555: 1552: 1549: 1546: 1543: 1540: 1537: 1534: 1531: 1528: 1525: 1522: 1519: 1516: 1513: 1510: 1507: 1504: 1501: 1498: 1495: 1492: 1489: 1486: 1483: 1480: 1477: 1474: 1471: 1468: 1465: 1462: 1459: 1456: 1453: 1450: 1447: 1444: 1441: 1438: 1435: 1432: 1429: 1426: 1423: 1420: 1417: 1405: 1402: 1399: 1396: 1393: 1390: 1387: 1384: 1381: 1378: 1375: 1372: 1369: 1366: 1363: 1360: 1357: 1354: 1351: 1348: 1345: 1342: 1339: 1336: 1333: 1330: 1327: 1324: 1321: 1318: 1315: 1312: 1309: 1306: 1303: 1300: 1297: 1294: 1291: 1288: 1285: 1282: 1279: 1276: 1273: 1270: 1267: 1264: 1261: 1258: 1255: 1252: 1249: 1246: 1243: 1240: 1237: 1234: 1231: 1228: 1225: 1222: 1219: 1216: 1213: 1210: 1207: 1204: 1201: 1198: 1195: 1192: 1189: 1186: 1183: 1180: 1177: 1174: 1171: 1168: 1165: 1162: 1159: 1156: 1153: 1150: 1147: 1144: 1141: 1138: 1135: 1132: 1129: 1126: 1123: 1120: 1117: 1105: 1102: 1099: 1096: 1093: 1090: 1087: 1084: 1081: 1078: 1075: 1072: 1069: 1066: 1063: 1060: 1057: 1054: 1051: 1048: 1045: 1042: 1039: 1036: 1033: 1030: 1027: 1024: 1021: 1018: 1015: 1012: 1009: 1006: 1003: 1000: 997: 994: 991: 988: 985: 982: 979: 976: 973: 970: 967: 964: 961: 958: 955: 952: 949: 946: 943: 940: 937: 934: 922: 919: 916: 913: 910: 907: 904: 901: 898: 895: 892: 889: 886: 883: 880: 877: 874: 871: 868: 865: 862: 859: 856: 853: 850: 847: 844: 841: 838: 835: 832: 829: 826: 823: 820: 817: 814: 807:Basic operations 802: 799: 796: 793: 790: 787: 784: 781: 778: 775: 772: 769: 766: 763: 760: 757: 754: 751: 748: 745: 742: 739: 736: 733: 627: 623: 622:np.concatenate() 619: 342:Guido van Rossum 273: 268: 267: 264: 263: 260: 257: 254: 251: 248: 231: 230: 223: 220: 179:Operating system 156: 151: 148: 146: 144: 123: 121: 120:3 September 2024 116: 98: 96: 91:; as NumPy, 2006 90: 88: 83:As Numeric, 1995 46: 37: 30: 21: 3565: 3564: 3560: 3559: 3558: 3556: 3555: 3554: 3500: 3499: 3498: 3493: 3443: 3437: 3390: 3389: 3386: 3376: 3363: 3357: 3344: 3338: 3325: 3322: 3320:Further reading 3317: 3307: 3305: 3297: 3292: 3291: 3287: 3277: 3275: 3265: 3264: 3260: 3250: 3248: 3243: 3242: 3238: 3229: 3227: 3218: 3217: 3213: 3205: 3203: 3192: 3191: 3187: 3177: 3175: 3171: 3170: 3166: 3156: 3154: 3143: 3142: 3138: 3131: 3118: 3117: 3113: 3104: 3103: 3099: 3089: 3087: 3082: 3081: 3077: 3068: 3066: 3062: 3061: 3057: 3048: 3046: 3042: 3041: 3037: 3028: 3026: 3022: 3021: 3017: 3010:scipy.github.io 3004: 3003: 2999: 2990: 2988: 2984: 2983: 2979: 2969: 2967: 2962: 2961: 2957: 2947: 2945: 2938: 2937: 2933: 2924: 2922: 2918: 2917: 2913: 2874:(2). IEEE: 22. 2865: 2864: 2853: 2845: 2840: 2839: 2828: 2819: 2817: 2813: 2802: 2797: 2796: 2792: 2783: 2781: 2747: 2746: 2737: 2728: 2726: 2718: 2717: 2713: 2704: 2702: 2697: 2696: 2692: 2622: 2617: 2616: 2609: 2598:"NumPy — NumPy" 2596: 2595: 2591: 2581: 2579: 2576:"Release 2.1.1" 2574: 2573: 2569: 2565: 2523: 2518: 2517: 2514: 2511: 2508: 2505: 2502: 2499: 2496: 2493: 2490: 2487: 2484: 2481: 2478: 2475: 2472: 2469: 2466: 2463: 2460: 2457: 2454: 2451: 2448: 2445: 2442: 2439: 2436: 2433: 2430: 2427: 2424: 2421: 2418: 2415: 2412: 2411: 2408: 2406:end subroutine 2405: 2402: 2399: 2396: 2393: 2390: 2387: 2384: 2381: 2378: 2375: 2372: 2369: 2366: 2363: 2360: 2357: 2354: 2351: 2348: 2345: 2342: 2339: 2336: 2333: 2330: 2327: 2324: 2321: 2318: 2315: 2312: 2309: 2306: 2303: 2300: 2297: 2294: 2291: 2288: 2285: 2282: 2279: 2276: 2273: 2270: 2267: 2264: 2261: 2258: 2255: 2252: 2249: 2246: 2243: 2240: 2237: 2234: 2231: 2228: 2225: 2222: 2219: 2216: 2213: 2210: 2207: 2204: 2201: 2198: 2195: 2192: 2189: 2186: 2180: 2175: 2174: 2171: 2168: 2165: 2162: 2159: 2156: 2153: 2150: 2147: 2144: 2141: 2138: 2135: 2132: 2129: 2126: 2123: 2120: 2117: 2114: 2111: 2108: 2105: 2102: 2099: 2096: 2093: 2090: 2087: 2084: 2081: 2078: 2075: 2072: 2069: 2066: 2063: 2060: 2057: 2054: 2051: 2048: 2045: 2042: 2039: 2036: 2033: 2030: 2027: 2024: 2021: 2018: 2015: 2012: 2009: 2006: 2003: 2000: 1997: 1994: 1991: 1988: 1985: 1982: 1979: 1976: 1973: 1970: 1967: 1964: 1961: 1958: 1955: 1952: 1949: 1946: 1943: 1940: 1937: 1934: 1931: 1928: 1925: 1922: 1919: 1916: 1913: 1910: 1907: 1904: 1901: 1898: 1895: 1892: 1889: 1886: 1883: 1880: 1877: 1874: 1871: 1868: 1865: 1862: 1859: 1856: 1853: 1850: 1847: 1844: 1841: 1838: 1835: 1832: 1829: 1826: 1823: 1820: 1817: 1814: 1811: 1808: 1805: 1802: 1799: 1796: 1793: 1790: 1787: 1784: 1778: 1773: 1772: 1769: 1766: 1763: 1760: 1757: 1754: 1751: 1748: 1745: 1742: 1739: 1736: 1733: 1730: 1727: 1724: 1721: 1718: 1715: 1712: 1709: 1706: 1703: 1700: 1697: 1694: 1691: 1688: 1685: 1682: 1679: 1676: 1673: 1670: 1667: 1664: 1661: 1658: 1655: 1652: 1649: 1646: 1643: 1640: 1637: 1634: 1631: 1628: 1625: 1622: 1619: 1616: 1613: 1610: 1607: 1604: 1601: 1598: 1595: 1592: 1589: 1586: 1581: 1580: 1577: 1574: 1571: 1568: 1565: 1562: 1559: 1556: 1553: 1550: 1547: 1544: 1541: 1538: 1535: 1532: 1529: 1526: 1523: 1520: 1517: 1514: 1511: 1508: 1505: 1502: 1499: 1496: 1493: 1490: 1487: 1484: 1481: 1478: 1475: 1472: 1469: 1466: 1463: 1460: 1457: 1454: 1451: 1448: 1445: 1442: 1439: 1436: 1433: 1430: 1427: 1424: 1421: 1418: 1415: 1412: 1407: 1406: 1403: 1400: 1397: 1394: 1391: 1388: 1385: 1382: 1379: 1376: 1373: 1370: 1367: 1364: 1361: 1358: 1355: 1352: 1349: 1346: 1343: 1340: 1337: 1334: 1331: 1328: 1325: 1322: 1319: 1316: 1313: 1310: 1307: 1304: 1301: 1298: 1295: 1292: 1289: 1286: 1283: 1280: 1277: 1274: 1271: 1268: 1265: 1262: 1259: 1256: 1253: 1250: 1247: 1244: 1241: 1238: 1235: 1232: 1229: 1226: 1223: 1220: 1217: 1214: 1211: 1208: 1205: 1202: 1199: 1196: 1193: 1190: 1187: 1184: 1181: 1178: 1175: 1172: 1169: 1166: 1163: 1160: 1157: 1154: 1151: 1148: 1145: 1142: 1139: 1136: 1133: 1130: 1127: 1124: 1121: 1118: 1115: 1112: 1107: 1106: 1103: 1100: 1097: 1094: 1091: 1088: 1085: 1082: 1079: 1076: 1073: 1070: 1067: 1064: 1061: 1058: 1055: 1052: 1049: 1046: 1043: 1040: 1037: 1034: 1031: 1028: 1025: 1022: 1019: 1016: 1013: 1010: 1007: 1004: 1001: 998: 995: 992: 989: 986: 983: 980: 977: 974: 971: 968: 965: 962: 959: 956: 953: 950: 947: 944: 941: 938: 935: 932: 929: 924: 923: 920: 917: 914: 911: 908: 905: 902: 899: 896: 893: 890: 887: 884: 881: 878: 875: 872: 869: 866: 863: 860: 857: 854: 851: 848: 845: 842: 839: 836: 833: 830: 827: 824: 821: 818: 815: 812: 809: 804: 803: 800: 797: 794: 791: 788: 785: 782: 779: 776: 773: 770: 767: 764: 761: 758: 755: 752: 749: 746: 743: 740: 737: 734: 731: 728: 626:np.reshape(...) 614: 570: 528:computer vision 475:, using NumPy. 446: 426: 410: 402:Travis Oliphant 358: 350:array computing 346:Python's syntax 344:, who extended 326: 321: 309:Travis Oliphant 271: 245: 241: 225: 217: 159: 141: 124: 119: 117: 114: 94: 92: 86: 84: 80:Initial release 64:Travis Oliphant 53: 28: 23: 22: 15: 12: 11: 5: 3563: 3561: 3553: 3552: 3547: 3542: 3537: 3532: 3527: 3522: 3517: 3512: 3502: 3501: 3495: 3494: 3492: 3491: 3484: 3479: 3474: 3469: 3464: 3459: 3454: 3448: 3445: 3444: 3438: 3436: 3435: 3428: 3421: 3413: 3407: 3406: 3401: 3385: 3384:External links 3382: 3381: 3380: 3374: 3361: 3355: 3342: 3336: 3321: 3318: 3316: 3315: 3293:Shell, Scott. 3285: 3258: 3236: 3211: 3185: 3164: 3136: 3129: 3111: 3097: 3075: 3055: 3035: 3015: 2997: 2977: 2955: 2942:Guide to NumPy 2931: 2911: 2851: 2826: 2790: 2735: 2711: 2690: 2607: 2589: 2566: 2564: 2561: 2560: 2559: 2554: 2549: 2544: 2539: 2534: 2529: 2522: 2519: 2414: 2185: 2179: 2176: 1783: 1777: 1774: 1588: 1585: 1582: 1414: 1411: 1408: 1114: 1111: 1110:Linear algebra 1108: 931: 928: 925: 811: 808: 805: 730: 727: 724: 630:memory buffers 613: 610: 578:data structure 569: 566: 548:filter kernels 544:feature points 519:computations. 517:linear algebra 515:for efficient 445: 442: 425: 422: 409: 406: 357: 354: 325: 322: 320: 317: 233: 232: 215: 211: 210: 205: 199: 198: 193: 187: 186: 184:Cross-platform 181: 175: 174: 165: 161: 160: 158: 157: 138: 136: 130: 129: 126: 125: 112: 110: 108:Stable release 104: 103: 100: 99: 81: 77: 76: 73: 67: 66: 61: 55: 54: 47: 39: 38: 26: 24: 18:Numeric Python 14: 13: 10: 9: 6: 4: 3: 2: 3562: 3551: 3548: 3546: 3543: 3541: 3538: 3536: 3533: 3531: 3528: 3526: 3523: 3521: 3518: 3516: 3513: 3511: 3508: 3507: 3505: 3490: 3489: 3485: 3483: 3480: 3478: 3475: 3473: 3470: 3468: 3465: 3463: 3460: 3458: 3455: 3453: 3450: 3449: 3446: 3442: 3434: 3429: 3427: 3422: 3420: 3415: 3414: 3411: 3405: 3402: 3399: 3393: 3388: 3387: 3383: 3377: 3371: 3367: 3362: 3358: 3352: 3348: 3343: 3339: 3333: 3329: 3324: 3323: 3319: 3303: 3296: 3289: 3286: 3274:. Guy Worthey 3273: 3269: 3262: 3259: 3246: 3240: 3237: 3226: 3222: 3215: 3212: 3201: 3197: 3196: 3189: 3186: 3174: 3168: 3165: 3153: 3152: 3147: 3140: 3137: 3132: 3126: 3122: 3115: 3112: 3107: 3101: 3098: 3086: 3079: 3076: 3065: 3059: 3056: 3045: 3039: 3036: 3025: 3019: 3016: 3011: 3007: 3001: 2998: 2987: 2981: 2978: 2966: 2959: 2956: 2944: 2943: 2935: 2932: 2921: 2915: 2912: 2907: 2903: 2899: 2895: 2891: 2887: 2882: 2877: 2873: 2869: 2862: 2860: 2858: 2856: 2852: 2844: 2837: 2835: 2833: 2831: 2827: 2816:on 2013-10-14 2812: 2808: 2801: 2794: 2791: 2780:on 2019-02-19 2779: 2775: 2771: 2767: 2763: 2759: 2755: 2751: 2744: 2742: 2740: 2736: 2725: 2721: 2715: 2712: 2700: 2694: 2691: 2686: 2682: 2678: 2674: 2669: 2664: 2660: 2656: 2652: 2648: 2643: 2638: 2634: 2630: 2629: 2621: 2614: 2612: 2608: 2603: 2599: 2593: 2590: 2577: 2571: 2568: 2562: 2558: 2555: 2553: 2550: 2548: 2545: 2543: 2540: 2538: 2535: 2533: 2530: 2528: 2525: 2524: 2520: 2500:>>> 2482:>>> 2440:>>> 2431:>>> 2416:>>> 2241:implicit none 2183: 2177: 1781: 1775: 1583: 1409: 1109: 926: 806: 725: 723: 721: 717: 713: 709: 705: 701: 697: 693: 689: 685: 684:deep learning 682:, which many 681: 677: 673: 669: 665: 661: 657: 652: 650: 647:. Cython and 646: 641: 637: 633: 631: 611: 609: 607: 606:memory-mapped 602: 598: 594: 590: 585: 583: 579: 575: 567: 565: 562: 560: 555: 553: 549: 545: 541: 537: 533: 529: 525: 520: 518: 514: 510: 505: 501: 497: 493: 489: 485: 481: 476: 474: 469: 465: 461: 458: 454: 451: 443: 441: 439: 434: 432: 423: 421: 418: 415: 407: 405: 403: 399: 395: 391: 387: 383: 379: 375: 371: 367: 363: 355: 353: 351: 347: 343: 339: 335: 331: 323: 318: 316: 314: 310: 306: 302: 299: 296: 292: 288: 284: 280: 276: 275: 266: 239: 229: 222: 216: 212: 209: 206: 204: 200: 197: 194: 192: 188: 185: 182: 180: 176: 173: 169: 166: 162: 155: 150: 140: 139: 137: 135: 131: 127: 111: 109: 105: 101: 82: 78: 74: 72: 68: 65: 62: 60: 56: 51: 45: 40: 36: 31: 19: 3486: 3477:scikit-image 3472:scikit-learn 3451: 3365: 3346: 3330:. O'Reilly. 3327: 3306:. Retrieved 3301: 3288: 3276:. Retrieved 3271: 3261: 3249:. Retrieved 3239: 3228:. Retrieved 3224: 3214: 3204:, retrieved 3194: 3188: 3176:. Retrieved 3167: 3155:. Retrieved 3149: 3139: 3120: 3114: 3100: 3088:. Retrieved 3078: 3067:. Retrieved 3058: 3047:. Retrieved 3038: 3027:. Retrieved 3018: 3009: 3000: 2989:. Retrieved 2980: 2968:. Retrieved 2958: 2946:. Retrieved 2941: 2934: 2923:. Retrieved 2914: 2871: 2867: 2818:. Retrieved 2811:the original 2806: 2793: 2782:. Retrieved 2778:the original 2757: 2753: 2727:. Retrieved 2723: 2714: 2703:. Retrieved 2693: 2632: 2626: 2601: 2592: 2582:22 September 2580:. Retrieved 2570: 2181: 2130:>>> 2064:>>> 2043:>>> 2040:(,,,,,,,,,]) 2022:>>> 2007:>>> 2001:>>> 1956:>>> 1842:>>> 1827:>>> 1812:>>> 1803:>>> 1791:>>> 1785:>>> 1779: 1734:>>> 1713:>>> 1683:>>> 1614:>>> 1605:>>> 1590:>>> 1536:>>> 1476:>>> 1416:>>> 1380:>>> 1338:>>> 1320:>>> 1284:>>> 1254:>>> 1233:>>> 1206:>>> 1179:>>> 1152:>>> 1137:numpy.linalg 1131:>>> 1122:numpy.random 1116:>>> 1074:>>> 1050:>>> 1044:>>> 1041:>>> 1014:>>> 987:>>> 933:>>> 906:>>> 894:>>> 876:>>> 834:>>> 813:>>> 759:numpy.linalg 747:numpy.random 722:' of NumPy. 654:Many modern 653: 634: 615: 586: 573: 571: 563: 556: 521: 477: 447: 435: 427: 419: 413: 411: 361: 359: 333: 327: 298:mathematical 240:(pronounced 237: 236: 71:Developer(s) 3272:Guy Worthey 2760:(2): 9–12. 2202:subroutine 702:of NumPy's 656:large-scale 618:np.pad(...) 612:Limitations 473:inner loops 460:interpreter 305:Jim Hugunin 3504:Categories 3462:matplotlib 3230:2021-05-11 3206:2021-05-11 3090:2 February 3069:2023-12-19 3049:2011-12-22 3029:2011-04-29 2991:2008-03-24 2970:2 February 2948:2 February 2925:2006-06-24 2820:2013-10-12 2784:2014-07-07 2729:2021-04-06 2705:2021-10-25 2701:. NumFOCUS 2642:2006.10256 2563:References 2542:Matplotlib 1800:,,,,,,,,,] 1698:zeros_like 692:TensorFlow 636:Algorithms 608:ndarrays. 500:Matplotlib 334:matrix-sig 324:matrix-sig 295:high-level 164:Written in 134:Repository 50:Matplotlib 3146:"numexpr" 2881:1102.1523 2724:numpy.org 2685:Q99413970 2659:1476-4687 2602:numpy.org 1860:enumerate 1491:transpose 1188:transpose 798:transpose 552:debugging 436:In 2011, 301:functions 52:libraries 3308:18 April 3278:18 April 3251:18 April 3200:archived 2906:16907816 2681:Wikidata 2677:32939066 2521:See also 948:linspace 849:linspace 726:Examples 672:clusters 664:datasets 530:library 524:bindings 504:plotting 492:Simulink 468:compiled 457:bytecode 444:Features 414:Numarray 408:Numarray 352:easier. 291:matrices 281:for the 3247:. NumPy 3178:8 March 3173:"Numba" 3157:8 March 2886:Bibcode 2762:Bibcode 2668:7759461 2547:Fortran 2497:(9,-27) 2310:integer 2280:integer 2244:integer 2160:Nearest 1986:Nearest 1935:minDist 1917:minDist 1911:minDist 1830:minDist 1743:imwrite 1629:reshape 649:Pythran 601:Fortran 582:strided 540:masking 536:slicing 522:Python 488:scalars 450:CPython 394:JPython 374:FORTRAN 362:Numeric 356:Numeric 319:History 279:library 277:) is a 214:Website 203:License 118: ( 93: ( 85: ( 3482:MayaVi 3467:pandas 3441:Python 3372:  3353:  3334:  3225:Medium 3151:GitHub 3127:  2904:  2683:  2675:  2665:  2657:  2628:Nature 2434:import 2419:import 2367:end do 2286:intent 2250:intent 2148:points 2109:qPoint 2103:points 2091:linalg 2079:argmin 2067:minIdx 2046:qPoint 2025:points 2010:import 1974:points 1947:minIdx 1866:points 1815:minIdx 1806:qPoint 1794:points 1761:dstack 1641:arange 1608:import 1593:import 1140:import 1125:import 762:import 750:import 732:import 712:Nvidia 700:subset 660:memory 599:, and 597:Python 532:OpenCV 513:LAPACK 484:arrays 480:MATLAB 370:MATLAB 332:(SIG) 287:arrays 224:  168:Python 149:/numpy 147:/numpy 143:github 3457:SciPy 3452:NumPy 3298:(PDF) 2902:S2CID 2876:arXiv 2846:(PDF) 2814:(PDF) 2803:(PDF) 2637:arXiv 2623:(PDF) 2485:print 2455:ftest 2422:numpy 2409:ftest 2205:ftest 2163:point 2154:' 2133:print 2058:array 2037:array 2013:numpy 1989:point 1980:' 1959:print 1854:point 1596:numpy 1545:shape 1437:shape 1431:zeros 1395:array 1368:array 1326:array 1278:array 1257:solve 1248:array 1221:array 1194:array 1167:array 1143:solve 1101:array 1095:array 918:array 900:array 828:array 789:(,,]) 786:array 765:solve 735:numpy 645:Numba 502:is a 431:SciPy 424:NumPy 338:array 238:NumPy 219:numpy 3488:more 3370:ISBN 3351:ISBN 3332:ISBN 3310:2022 3280:2022 3253:2022 3180:2014 3159:2014 3125:ISBN 3092:2017 2972:2017 2950:2017 2673:PMID 2655:ISSN 2584:2024 2503:help 2178:F2PY 2115:axis 2097:norm 1941:dist 1920:< 1908:< 1905:dist 1878:dist 1770:True 1293:rand 1134:from 1128:rand 1119:from 756:from 753:rand 744:from 716:CUDA 708:CuPy 688:Dask 680:TPUs 678:and 676:GPUs 511:and 509:BLAS 438:PyPy 380:and 289:and 221:.org 191:Type 145:.com 95:2006 87:1995 2894:doi 2770:doi 2663:PMC 2647:doi 2633:585 2557:f2c 2449:foo 2437:foo 2328:do 2292:out 1953:idx 1944:... 1932:... 1899:... 1893:0.5 1884:sum 1875:... 1848:idx 1845:for 1764:()) 1737:cv2 1674:256 1668:256 1662:256 1653:256 1647:256 1611:cv2 1347:dot 1209:inv 1149:inv 1098:()) 1083:sin 1059:sin 1029:cos 1002:sin 981:100 771:inv 714:'s 704:API 696:JAX 694:or 668:CPU 593:C++ 538:or 366:APL 274:-py 272:NUM 208:BSD 3506:: 3300:. 3270:. 3223:. 3198:, 3148:. 3008:. 2900:. 2892:. 2884:. 2872:13 2870:. 2854:^ 2829:^ 2805:. 2768:. 2758:13 2756:. 2752:. 2738:^ 2722:. 2679:. 2671:. 2661:. 2653:. 2645:. 2631:. 2625:. 2610:^ 2600:. 2428:np 2425:as 2313::: 2298::: 2262::: 2256:in 2166:to 2124:)) 2085:np 2073:np 2061:() 2052:np 2031:np 2019:np 2016:as 1992:to 1914:or 1902:if 1890:** 1887:() 1869:): 1857:in 1755:np 1692:np 1677:)) 1665:,( 1635:np 1623:np 1602:np 1599:as 1551:11 1533:)) 1485:np 1473:)) 1470:11 1425:np 1404:]) 1398:(, 1377:]) 1371:(, 1341:np 1335:]) 1329:(, 1314:20 1281:() 1251:() 1242:np 1230:]) 1224:(, 1203:]) 1197:(, 1191:() 1176:]) 1170:(, 1161:np 1104:() 1089:np 1077:np 1053:np 1023:np 996:np 975:pi 969:np 963:pi 957:np 942:np 921:() 912:** 903:() 843:np 831:() 822:np 801:() 780:np 741:np 738:as 632:. 595:, 554:. 546:, 462:. 404:. 382:S+ 376:, 372:, 262:aɪ 170:, 3432:e 3425:t 3418:v 3378:. 3359:. 3340:. 3312:. 3282:. 3255:. 3233:. 3182:. 3161:. 3133:. 3108:. 3094:. 3072:. 3052:. 3032:. 3012:. 2994:. 2974:. 2952:. 2928:. 2908:. 2896:: 2888:: 2878:: 2848:. 2823:. 2787:. 2772:: 2764:: 2732:. 2708:. 2687:. 2649:: 2639:: 2586:. 2512:) 2506:( 2494:) 2491:a 2488:( 2476:) 2473:3 2470:, 2467:2 2464:, 2461:1 2458:( 2452:. 2446:= 2443:a 2403:) 2400:1 2397:- 2394:( 2391:* 2388:) 2385:n 2382:* 2379:c 2376:( 2373:= 2370:d 2364:c 2361:+ 2358:b 2355:+ 2352:a 2349:= 2346:c 2343:n 2340:, 2337:1 2334:= 2331:i 2325:0 2322:= 2319:c 2316:i 2307:d 2304:, 2301:c 2295:) 2289:( 2283:, 2277:n 2274:, 2271:b 2268:, 2265:a 2259:) 2253:( 2247:, 2238:) 2235:d 2232:, 2229:c 2226:, 2223:n 2220:, 2217:b 2214:, 2211:a 2208:( 2172:: 2169:q 2157:) 2151:} 2145:{ 2139:f 2136:( 2121:1 2118:= 2112:, 2106:- 2100:( 2094:. 2088:. 2082:( 2076:. 2070:= 2055:. 2049:= 2034:. 2028:= 1998:: 1995:q 1983:) 1977:} 1971:{ 1965:f 1962:( 1950:= 1938:= 1926:: 1923:0 1881:= 1863:( 1851:, 1839:1 1836:- 1833:= 1824:1 1821:- 1818:= 1809:= 1797:= 1758:. 1752:, 1746:( 1740:. 1728:T 1725:. 1722:r 1719:= 1716:b 1707:) 1704:r 1701:( 1695:. 1689:= 1686:g 1671:, 1659:% 1656:) 1650:* 1644:( 1638:. 1632:( 1626:. 1620:= 1617:r 1578:) 1575:2 1572:, 1569:7 1566:, 1563:3 1560:, 1557:5 1554:, 1548:( 1542:. 1539:T 1530:0 1527:, 1524:3 1521:, 1518:1 1515:, 1512:2 1509:, 1506:4 1503:( 1500:, 1497:M 1494:( 1488:. 1482:= 1479:T 1467:, 1464:7 1461:, 1458:5 1455:, 1452:3 1449:, 1446:2 1443:( 1440:= 1434:( 1428:. 1422:= 1419:M 1401:, 1389:c 1386:@ 1383:a 1374:, 1362:) 1359:c 1356:, 1353:a 1350:( 1344:. 1332:, 1323:c 1311:* 1308:) 1305:3 1302:, 1299:3 1296:( 1290:= 1287:c 1272:) 1269:b 1266:, 1263:a 1260:( 1245:. 1239:= 1236:b 1227:, 1218:) 1215:a 1212:( 1200:, 1185:. 1182:a 1173:, 1164:. 1158:= 1155:a 1146:, 1092:. 1086:( 1080:. 1068:) 1065:1 1062:( 1056:. 1038:) 1035:a 1032:( 1026:. 1020:= 1017:c 1011:) 1008:a 1005:( 999:. 993:= 990:b 984:) 978:, 972:. 966:, 960:. 954:- 951:( 945:. 939:= 936:a 915:2 909:a 897:c 891:b 888:- 885:a 882:= 879:c 870:) 867:4 864:, 861:2 858:, 855:0 852:( 846:. 840:= 837:b 825:. 819:= 816:a 795:. 792:a 783:. 777:= 774:a 768:, 591:/ 589:C 574:n 378:S 265:/ 259:p 256:m 253:ʌ 250:n 247:ˈ 244:/ 172:C 122:) 97:) 89:) 20:)

Index

Numeric Python


Matplotlib
Original author(s)
Travis Oliphant
Developer(s)
Stable release
Repository
github.com/numpy/numpy
Edit this at Wikidata
Python
C
Operating system
Cross-platform
Type
Numerical analysis
License
BSD
numpy.org
Edit this on Wikidata
/ˈnʌmp/
NUM-py
library
Python programming language
arrays
matrices
high-level
mathematical
functions

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.