首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >分析python中的CSV,从列中提取最大值

分析python中的CSV,从列中提取最大值
EN

Stack Overflow用户
提问于 2022-05-31 15:18:12
回答 1查看 63关注 0票数 0

我已经将csv加载到python中,其中包含了以色列的城市列表及其犯罪统计数据。我想为每一栏提取最大值(包含不同的犯罪类型),并按总犯罪率重新排列整个csv (类似于“纯粹犯罪造成的最危险城市”之类的事情)。

我现在的代码是:

代码语言:javascript
运行
复制
import csv
import pandas as pd
import numpy as np

filename = r"C:\Users\Aviad Glav\Desktop\פרויקט גמר חלק ב'\Arc\israel_crime_2019.csv"

fields = []
rows = []

with open(filename, 'r') as csvfile:
    csvreader = csv.reader(csvfile)
    fields = next(csvreader)
    for row in csvreader:
        rows.append(row)

    print("Total no. of rows: %d" % csvreader.line_num)


print('Field names are:' + ', '.join(field for field in fields))

print('\nThe table is as follows:\n')
for row in rows[0:]:
    for col in row:
        print(col,end=" ")
    print('\n')

产出如下:

代码语言:javascript
运行
复制
Total no. of rows: 115
Field names are:name, Northing, Easting, total, security_off, economical_off, morality_off, property_off, sex_off, cheats_off, against_person, against_body, public_order_off, registered_off, traffic_viol, other

The table is as follows:

Acre 32.927778 35.081667 19713 180 27 3180 6582 221 708 32 2978 5747 23 35 0 

Afula 32.606389 35.288056 18411 252 36 1704 6588 297 697 30 2872 5830 41 60 4 

Arad 31.25 35.216667 8752 59 12 507 2771 161 275 21 1666 3187 39 48 6 

Arraba 32.850556 35.338889 4921 193 12 375 1097 28 119 10 1069 1958 36 24 0 

Ashdod 31.8 34.65 53313 288 115 2784 19396 888 2849 95 9735 16694 274 190 5 

Ashkelon 31.666667 34.566667 45966 215 87 2178 17122 721 1675 61 8794 14622 342 139 10 

Baqa al Gharbiyye 32.420278 35.042222 5891 161 9 633 1480 36 214 20 978 2316 20 23 1 

Bat Yam 32.016667 34.75 45436 179 85 2767 18278 726 2192 52 7652 13369 59 64 13 

Beersheba 31.258889 34.799722 91723 565 186 4103 38168 1695 3552 153 13978 28448 400 432 43 

Beit Shean 32.5 35.5 6754 52 13 741 1686 130 161 5 1287 2598 47 30 4 

Beit Shemesh 31.745556 34.986667 19423 100 25 1492 5603 587 788 26 3699 7001 45 43 14 

Bnei Brak 32.083333 34.833333 23551 78 31 1357 8205 760 1193 17 3689 8101 61 55 4 

Dimona 31.066667 35.033333 13413 183 27 1438 3815 297 420 41 2232 4771 102 75 12 

Eilat 29.55 34.95 41418 179 87 5737 12418 678 1190 36 7814 12968 171 127 13 

Elad 32.052222 34.951111 5053 24 5 393 1403 242 115 6 1048 1765 32 20 0 

Givat Shmuel 32.078056 34.8475 3523 16 0 159 1599 70 139 7 490 1023 7 12 1 

Givatayim 32.071389 34.81 9662 36 11 772 4035 143 618 15 1095 2883 31 19 4 

Hadera 32.45 34.916667 29307 143 40 2380 11257 412 1613 30 4586 8739 68 36 3 

Haifa 32.819167 34.999167 99368 436 302 8487 38606 1198 6165 100 14698 28980 168 193 35 

Herzliya 32.165278 34.845833 24386 90 48 2508 10038 469 1273 29 3086 6729 55 52 9 

Hod Hasharon 32.15 34.883333 11636 28 5 701 5888 143 382 10 1376 3016 41 45 1 

Holon 32.016667 34.766667 44571 141 83 2049 18509 742 2457 46 7283 13125 45 78 13 

Jerusalem 31.783333 35.216667 221178 21668 387 15513 68297 3858 10464 522 32093 66838 520 854 164 

Kfar Qasim 32.1151 34.9751 7195 320 9 465 1574 29 244 46 1093 3294 45 74 2 

Karmiel 32.913611 35.296111 10382 112 72 1525 2829 275 572 6 1672 3189 93 35 2 

Kfar Saba 32.171389 34.908333 22784 58 30 1403 10510 379 1143 14 2851 6260 48 87 1 

Kfar Yona 32.317103 34.935761 4809 21 5 391 1849 84 136 5 763 1534 7 14 0 

Kiryat Ata 32.8 35.1 16151 56 19 1241 5563 267 810 16 2766 5358 23 30 2 

Kiryat Bialik 32.833333 35.083333 13388 34 143 884 5298 198 1208 10 1961 3615 15 19 3 

Kiryat Gat 31.606111 34.771667 16427 67 33 992 5149 290 541 29 3205 5839 213 64 5 

Kiryat Malakhi 31.733333 34.733333 7996 51 16 533 2662 140 304 13 1417 2759 78 22 1 

Kiryat Motzkin 32.833333 35.083333 9541 23 18 895 3642 175 404 8 1498 2859 9 9 1 

Kiryat Ono 32.063611 34.855278 5717 16 17 358 2477 88 338 7 714 1675 13 11 3 

Kiryat Shmona 33.2075 35.569722 6642 29 4 964 1765 175 312 11 1154 2159 18 50 1 

Kiryat Yam 32.833333 35.066667 10564 44 11 1085 3699 170 399 12 1875 3235 13 19 2 

Lod 31.951944 34.888056 29607 842 147 3745 9608 364 1285 75 4324 8924 160 121 12 

Maalot Tarshiha 33.016667 35.270833 4471 41 4 782 1154 93 160 10 753 1414 20 38 2 

Migdal Haemek 32.671389 35.240556 6625 92 19 1085 1931 117 174 11 1060 2098 12 25 1 

Modiin Maccabim Reut 31.907653 35.007614 12551 87 16 1223 4640 295 608 19 1495 3942 53 168 5 

Nahariya 33.005833 35.098889 15646 92 53 1943 5462 221 734 18 2469 4504 102 41 7 

Nazareth 32.701944 35.303333 20980 829 70 3181 4488 176 978 60 3150 7873 66 102 7 

Nesher 32.771111 35.039444 5204 25 8 384 2103 67 271 8 775 1538 6 16 3 

Ness Ziona 31.933333 34.8 6945 11 7 506 2850 142 335 6 1026 2031 11 19 1 

Netanya 32.328611 34.856667 60229 186 106 4094 25546 716 2834 60 9595 16783 130 163 16 

Netivot 31.416667 34.583333 8676 43 16 850 2458 180 372 12 1561 3078 68 33 5 

Nof Hagalil 32.716667 35.333333 17233 174 34 3071 4586 298 584 30 3045 5321 14 72 4 

Ofakim 31.316667 34.616667 7277 52 13 707 2058 149 204 14 1334 2630 70 38 8 

Or Akiva 32.5 34.916667 5118 32 5 642 1851 52 127 4 867 1520 12 6 0 

Or Yehuda 32.033333 34.85 9907 48 19 617 3202 177 412 9 1807 3558 32 21 5 

Petah Tikva 32.088889 34.886389 57656 180 116 3603 23523 1027 2699 56 8824 17261 195 153 19 

Qalansawe 32.282222 34.983333 5796 188 10 355 1589 28 150 19 1137 2266 17 36 1 

Raanana 32.183333 34.866667 13099 33 12 698 6319 199 673 12 1637 3450 29 35 2 

Rahat 31.3925 34.754444 15368 827 30 798 3155 106 347 60 3036 6790 87 125 7 

Ramat Gan 32.07 34.823611 36217 92 70 2977 15797 546 2416 23 4362 9790 65 68 11 

Ramat Hasharon 32.15 34.833333 8415 24 6 814 3826 112 447 12 995 2145 15 19 0 

Ramla 31.9275 34.8625 27075 494 52 2009 9592 367 936 71 4673 8716 55 102 8 

Rehovot 31.898056 34.808056 27765 99 17 1659 11779 451 1203 24 4472 7892 75 83 11 

Rishon Lezion 31.95 34.8 59259 200 112 4930 24112 940 3108 43 9447 16015 190 154 8 

Rosh Haayin 32.095556 34.956667 11320 66 23 895 3772 233 448 9 1600 4178 56 36 4 

Safed 32.965833 35.498333 8822 99 21 1399 2543 235 311 4 1460 2671 43 33 3 

Sakhnin 32.866667 35.3 5829 144 11 500 1272 38 295 10 1177 2315 32 32 3 

Sderot 31.522778 34.595278 8365 64 13 839 2486 121 283 15 1612 2791 114 25 2 

Shefaamr 32.805556 35.169444 11372 286 21 1395 2358 90 442 21 1907 4723 60 67 2 

Tamra 32.853611 35.197778 10003 353 12 1124 2155 50 419 27 1745 4010 57 50 1 

Tayibe 32.266667 35.010278 12383 578 21 1241 2649 48 341 46 1924 5322 33 171 9 

Tel Aviv Yafo 32.066667 34.783333 228154 1012 657 17841 102943 3256 13439 271 27436 59954 936 354 55 

Tiberias 32.794444 35.533333 18218 134 41 3143 5428 410 527 37 2965 5347 98 78 10 

Tira 32.232222 34.948333 9913 507 34 609 2357 40 287 45 1490 4448 33 63 0 

Tirat Carmel 32.766667 34.966667 6902 44 21 908 1800 119 411 16 1155 2393 14 20 1 

Umm al Fahm 32.519444 35.153611 10017 742 22 635 2583 40 314 45 1501 4036 33 63 3 

Yavne 31.883333 34.733333 9945 48 15 890 3747 180 412 16 1527 3054 27 28 1 

Yehud Monosson 32.028381 34.879617 5635 22 17 314 2258 107 302 6 865 1713 17 13 1 

Yokneam Illit 32.659444 35.11 3563 39 4 485 1326 61 92 5 480 1047 6 17 1

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2022-05-31 15:54:06

首先,您可以使用熊猫将文件读取到一个更容易操作的数据框架中,而不是遍历CSV文件来读取它:

代码语言:javascript
运行
复制
df = pd.read_csv('YOUR_FILENAME.csv')

一旦您准备好了数据帧,您就可以根据最大速率或最小比率重新排列它,例如,如果您想按照第一个犯罪率排序文件,可以使用以下一行:

代码语言:javascript
运行
复制
df.sort_values('FIRST_CRIME_TYPE_COLUMN_NAME', inplace=True)

使用inplace参数将结果保持在相同的数据帧中。

然后,如果要将其导出到CSV文件中,可以使用以下行:

代码语言:javascript
运行
复制
df.to_csv('OUTPUT_FILE.csv', index=False)

使用index参数来说明是否希望在CSV中使用行索引。

我希望这能帮到你。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72450360

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档