Numpy:是不是可以以逗号分隔的形式显示数字,例如 1,000,000? [复制]
Posted
技术标签:
【中文标题】Numpy:是不是可以以逗号分隔的形式显示数字,例如 1,000,000? [复制]【英文标题】:Numpy: Is it possible to display numbers in comma-separated form, like 1,000,000? [duplicate]Numpy:是否可以以逗号分隔的形式显示数字,例如 1,000,000? [复制] 【发布时间】:2013-07-20 12:13:10 【问题描述】:我有一个像这样的 numpy 数组:
[ 1024 303 392 4847 7628 6303 8898 10546 11290
12489 19262 18710 20735 24553 24577 28010 31608 32196
32500 32809 37077 37647 44153 46045 47562 48642 50134
50030 52700 52628 51720 53844 56640 56856 57945 58639
57997 63326 64145 65734 67148 68086 68779 68697 70132
71014 72830 77288 77502 77537 78042 79623 81151 81584
81426 84030 86879 86171 89771 88367 90440 92640 93369
93818 97085 98787 98867 100471 101473 101788 102828 104558
105144 107242 107970 109785 111856 111643 113011 113454 116367
117602 117507 120910 121167 122150 123385 123079 125537 124702
130226 130943 133885 134308 133947 136145 137959 137894 142173
141912 142763 142003 145996 145402 146866 146092 147825 148910
147713 149825 151061 153643 154977 156978 158904 157954 160316
161523 163053 165434 167300 167715 166813 168388 170351 171987
172649 177108 178431 178943 179275 178842 182607 182385 184192
186173 184352 188252 190069 190973 193528 194201 193948 195272
196028 196983 197949 200612 200036 202586 203816 204169 204442
206565 204978 207570 208841 209840 211022 215287 216581 218759
219129 219654 221390 223196 222838 226258 227427 228720 228618
229596 230456 232478 234833 235885 236174 240016 241327 240405
245089 246395 246427 248713 250445 251459 250243 250142 252208
255305 257085 259021 261418 260371 262429 266987 268073 267347
267778 272190 274298 276432 278301 278566 281415 286693 286916
290180 291991 293615 294196 294794 295632 295801 296841 297921
297851 298639 299947 300571 303739 305400 305893 308541 308502
309391 311174 313150 313809 313503 314947 314267 316401 315598
315667 319040 318215 322159 322351 326841 329272 329970 331086
330680 333592 335304 338395 339535 338490 340901 340224 342214
344058 344265 345342 348066 349170 351184 351246 350390 352825
354106 353678 355172 356021 356572 358199 358499 360150 359673
361638 361261 364342 363712 363537 364614 365605 370378 369543
372492 371458 374351 374062 377692 380780 383285 386580 391073
390572 390016 390071 391357 391443 393495 395623 396069 398131
397323 397600 401621 402409 402653 402565 404011 406677 408032
412484 412818 414683 415563 416881 417693 418979 421372 422183
424204 428040 433048 436204 441467 441364 444357 445020 446317
447746 450215 452156 452459 453675 455563 458602 457832 459647
459422 460776 462066 463088 464990 465594 465412 467838 470474
469814 472107 471190 474962 473129 475885 476326 477163 477549
480703 482112 483272 485919 489819 493653 494763 497317 499973
501417 502259 505029 505738 506419 505987 509523 510927 511615
510642 512194 514167 515398 515899 514871 516935 517935 518745
520151 523230 522624 524360 527499 527713 529840 533364 533427
535012 535626 536789 538309 539294 541628 543409 543257 547659
548805 547957 549206 550418 551496 553944 554964 556040 555442
556115 558035 559012 559996 560687 561125 562147 561847 564313
565764 566978 568285 571312 570638 573771 575404 576862 576623
578010 581445 581721 582612 583485 584905 584490 587062 588413
590182 590895 592253 593207 592167 592778 594918 595386 595313
596638 599286 600967 600104 603553 603062 604840 605574 608996
608342 609718 613394 616706 620509 620742 623473 627696 628046
630422 629559 631104 632706 631853 631558 634244 633644 635318
637530 639561 639621 640990 642450 644077 646093 646231 645289
648794 650183 651224 650614 652121 653160 653916 654878 653366
656464 656765 659205 660318 661160 661733 664133 666687 666141
667800 670065 669697 673198 674909 679237 678841 680237 681066
683609 683774 687714 688250 688348 688409 690934 691247 690561
692331 694604 692233 694565 697065 696502 699490 698759 704335
704495 707785 710077 708889 711285 712660 713194 713032 715592
716780 717421 719728 718980 720024 721276 722931 721172 723217
724522 725116 726530 727363 728557 729932 730517 731753 733026
733901 734254 733754 735812 737422 738840 741603 743077 742448
744012 746448 747913 748561 750163 750220 751494 751775 755024
754450 756719 759364 758661 760435 762363 764661 764426 765811
767944 769395 768974 769107 768022 771572 773970 773237 774987
778125 779134 778529 779513 782699 784062 785550 785809 787398
787119 787461 792378 793407 795447 798216 798111 800309 800055
799506 803787 805761 807160 807536 807857 813805 814900 815323
815944 818673 820553 821977 823213 824189 823973 825921 828105
830929 829447 832115 835241 837169 837700 838019 840313 843718
843404 845531 844335 847409 847815 851908 850225 850872 854830
856319 858022 857802 858226 859101 859043 860669 862139 861543
862198 862803 863898 864713 865809 864774 867725 869353 870102
869142 870530 872039 873075 875093 875414 877401 879831 879495
883657 884148 886047 887192 889179 890189 891934 893670 894898
895035 898261 899598 902954 901823 903611 903217 905733 912109
912091 912521 917189 917015 919413 925544 925781 927930 932198
933415 932876 935606 937908 936373 939053 938267 942618 942942
945486 946063 947948 949637 950909 951936 950532 953508 955364
957614 960969 960691 961469 962765 964259 963586 966093 965046
965127 967633 968184 970414 970205 969498 970840 973759 975468
978685 979028 981163 983389 983760 984413 985753 985216 988019
989954 990162 990550 989592 992109 993933 992624 994876 993699
995831 999375 997783 999865 1002329 1003334 1001654 1005034 1006174
1010507 1011310 1012061 1012837 1014860 1015783 1019508 1022806 1023917
1024263 1027503 1026829 1028601 1031338 1032535 1033546 1033509 1036241
1036561 1038885 1041618 1043533 1045119 1047536 1046882 1048368 1047887
2047 392 4847 7628 6303 8898 10353 11290 10546
12489 18710 20735 20539 24577 27082 28010 29933 31608
32196 32500 32809 37077 37647 44153 46045 46597 48642
49825 50134 52628 53055 53844 56856 55986 57945 57997
58639 64145 65734 68086 68779 71014 71323 72830 77502
77537 77288 79869 78574 80348 79623 81584 81151 84030
86879 87747 89771 88367 90440 92640 93818 97085 98787
100471 101250 102186 101473 101788 102828 106089 105701 107242
107970 109785 112702 113454 116367 117602 118378 117507 120224
120910 122150 123385 123825 130943 130123 133885 134308 133543
136145 137959 137894 139657 141912 142173 142003 145122 145402
146866 146092 147825 148910 151061 153643 154977 157613 158904
157954 162844 164345 165668 165434 167300 166813 168388 170351
170859 171600 172649 177108 178431 179304 178842 182385 182607
183418 184352 188252 190069 190973 193528 193948 194201 195272
196028 196983 197949 200612 200036 203193 204442 203816 204978
206565 207607 207570 208841 211579 211022 215287 216581 219129
218759 219654 222196 223196 221999 226258 227427 228720 229596
230047 230456 232478 234623 234833 234131 235885 236174 240230
240498 240016 241327 240405 242923 246395 246427 248173 250445
251459 250243 255305 255883 257085 259021 260371 261951 262195
264831 266987 268073 267778 272190 274298 276432 279860 278566
281415 286693 286916 286991 289070 291991 293615 293898 294168
295801 295050 297921 298639 298449 299179 303739 305893 307647
309098 309391 313150 313809 313503 314947 314267 316401 315598
317854 322159 322351 326841 326917 329272 329631 329970 331086
330680 333592 335304 338395 339535 338490 340901 340224 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0]
我希望以逗号分隔值查看这些数字,即:204,978 而不是 204978。这在 numpy/scipy 中是否可行?
【问题讨论】:
拥有数组的全部内容真的有用吗? 是的,hivert。我以前找不到它。谢谢! 【参考方案1】:假设您使用 Python >= 2.7,您可以执行以下操作:
>>> d = np.array([1, 13, 141, 2345, 51923, 691247])
>>> np.array2string(d, formatter='int_kind': lambda x: ':,'.format(x))
'[1 13 141 2,345 51,923 691,247]'
如果您使用的是 2.7 之前的版本,传递 formatter
的相同技巧应该可以工作,但您将无法使用 ':,'.format
。
你也可以完全绕过numpy
,比如
>>> ' '.join(':,'.format(x) for x in d)
'1 13 141 2,345 51,923 691,247'
【讨论】:
【参考方案2】:如果您想在全球范围内应用您的打印首选项;你可以使用numpy.set_printoptions()
:
>>> import numpy as np
>>> a = np.array([338490, 340901, 340224])
>>> a
array([338490, 340901, 340224])
>>> np.set_printoptions(formatter='int_kind': ':,'.format)
>>> a
array([338,490, 340,901, 340,224])
>>> print(a)
[338,490 340,901 340,224]
【讨论】:
以上是关于Numpy:是不是可以以逗号分隔的形式显示数字,例如 1,000,000? [复制]的主要内容,如果未能解决你的问题,请参考以下文章