├── fig ├── fig1.png ├── fig2.png └── fig3.png ├── LICENSE ├── README.md └── code └── NGSIM_preprocessing.ipynb /fig/fig1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YimingShu-teay/NGSIM-DataProcess/HEAD/fig/fig1.png -------------------------------------------------------------------------------- /fig/fig2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YimingShu-teay/NGSIM-DataProcess/HEAD/fig/fig2.png -------------------------------------------------------------------------------- /fig/fig3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YimingShu-teay/NGSIM-DataProcess/HEAD/fig/fig3.png -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 Teaysway 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ### Brief Introduction 2 | 3 | This code was written quite some time ago for the purpose of processing the NGSIM dataset. While it might not be the epitome of organization or high efficiency, it should serve as a valuable starting point for those venturing into data processing. 4 | 5 | This data processing is aimed at **extracting lane-changing points of vehicles and capturing feature information of traffic flow scenarios during lane changes**. 6 | 7 | Here is the link to get NGSIM dataset: https://data.transportation.gov/Automobiles/Next-Generation-Simulation-NGSIM-Vehicle-Trajector/8ect-6jqj 8 | 9 | ### Main Function 10 | 11 | 1.Extraction of the driving trajectories of each lane-changing vehicle in the vicinity of lane-change points within the NGSIM dataset. 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 2.Treating each lane-changing vehicle as an ego vehicle, we obtained the traffic scenarios at their lane-change points. 20 | 21 |
22 | 23 | 24 | 25 | 3.Extraction of traffic features within a minimal unit scenario. 26 | 27 |
28 | 29 | 30 | 31 | ### Further Reading 32 | 33 | [1]. Zhang Y, Xu Q, Wang J, et al. A learning-based discretionary lane-change decision-making model with driving style awareness[J]. IEEE transactions on intelligent transportation systems, 2022, 24(1): 68-78. 34 | 35 | [2]. Liu Y, Wang X, Li L, et al. A novel lane change decision-making model of autonomous vehicle based on support vector machine[J]. IEEE access, 2019, 7: 26543-26550. -------------------------------------------------------------------------------- /code/NGSIM_preprocessing.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 347, 6 | "id": "0d40d408", 7 | "metadata": {}, 8 | "outputs": [], 9 | "source": [ 10 | "import pandas as pd\n", 11 | "import os\n", 12 | "import matplotlib.pyplot as plt\n", 13 | "import math\n", 14 | "from shutil import copy" 15 | ] 16 | }, 17 | { 18 | "cell_type": "code", 19 | "execution_count": 125, 20 | "id": "48d78e49", 21 | "metadata": { 22 | "scrolled": true 23 | }, 24 | "outputs": [ 25 | { 26 | "data": { 27 | "text/html": [ 28 | "
\n", 29 | "\n", 42 | "\n", 43 | " \n", 44 | " \n", 45 | " \n", 46 | " \n", 47 | " \n", 48 | " \n", 49 | " \n", 50 | " \n", 51 | " \n", 52 | " \n", 53 | " \n", 54 | " \n", 55 | " \n", 56 | " \n", 57 | " \n", 58 | " \n", 59 | " \n", 60 | " \n", 61 | " \n", 62 | " \n", 63 | " \n", 64 | " \n", 65 | " \n", 66 | " \n", 67 | " \n", 68 | " \n", 69 | " \n", 70 | " \n", 71 | " \n", 72 | " \n", 73 | " \n", 74 | " \n", 75 | " \n", 76 | " \n", 77 | " \n", 78 | " \n", 79 | " \n", 80 | " \n", 81 | " \n", 82 | " \n", 83 | " \n", 84 | " \n", 85 | " \n", 86 | " \n", 87 | " \n", 88 | " \n", 89 | " \n", 90 | " \n", 91 | " \n", 92 | " \n", 93 | " \n", 94 | " \n", 95 | " \n", 96 | " \n", 97 | " \n", 98 | " \n", 99 | " \n", 100 | " \n", 101 | " \n", 102 | " \n", 103 | " \n", 104 | " \n", 105 | " \n", 106 | " \n", 107 | " \n", 108 | " \n", 109 | " \n", 110 | " \n", 111 | " \n", 112 | " \n", 113 | " \n", 114 | " \n", 115 | " \n", 116 | " \n", 117 | " \n", 118 | " \n", 119 | " \n", 120 | " \n", 121 | " \n", 122 | " \n", 123 | " \n", 124 | " \n", 125 | " \n", 126 | " \n", 127 | " \n", 128 | " \n", 129 | " \n", 130 | " \n", 131 | " \n", 132 | " \n", 133 | " \n", 134 | " \n", 135 | " \n", 136 | " \n", 137 | " \n", 138 | " \n", 139 | " \n", 140 | " \n", 141 | " \n", 142 | " \n", 143 | " \n", 144 | " \n", 145 | " \n", 146 | " \n", 147 | " \n", 148 | " \n", 149 | " \n", 150 | " \n", 151 | " \n", 152 | " \n", 153 | " \n", 154 | " \n", 155 | " \n", 156 | " \n", 157 | " \n", 158 | " \n", 159 | " \n", 160 | " \n", 161 | " \n", 162 | " \n", 163 | " \n", 164 | " \n", 165 | " \n", 166 | " \n", 167 | " \n", 168 | " \n", 169 | " \n", 170 | " \n", 171 | " \n", 172 | " \n", 173 | " \n", 174 | " \n", 175 | " \n", 176 | " \n", 177 | " \n", 178 | " \n", 179 | " \n", 180 | " \n", 181 | " \n", 182 | " \n", 183 | " \n", 184 | " \n", 185 | " \n", 186 | " \n", 187 | " \n", 188 | " \n", 189 | " \n", 190 | " \n", 191 | " \n", 192 | " \n", 193 | " \n", 194 | " \n", 195 | " \n", 196 | " \n", 197 | " \n", 198 | " \n", 199 | " \n", 200 | " \n", 201 | " \n", 202 | " \n", 203 | " \n", 204 | " \n", 205 | " \n", 206 | " \n", 207 | " \n", 208 | " \n", 209 | " \n", 210 | " \n", 211 | " \n", 212 | " \n", 213 | " \n", 214 | " \n", 215 | " \n", 216 | " \n", 217 | " \n", 218 | " \n", 219 | " \n", 220 | " \n", 221 | " \n", 222 | " \n", 223 | " \n", 224 | " \n", 225 | " \n", 226 | " \n", 227 | " \n", 228 | " \n", 229 | " \n", 230 | " \n", 231 | " \n", 232 | " \n", 233 | " \n", 234 | " \n", 235 | " \n", 236 | " \n", 237 | " \n", 238 | " \n", 239 | " \n", 240 | " \n", 241 | " \n", 242 | " \n", 243 | " \n", 244 | " \n", 245 | " \n", 246 | " \n", 247 | " \n", 248 | " \n", 249 | " \n", 250 | " \n", 251 | " \n", 252 | " \n", 253 | " \n", 254 | " \n", 255 | " \n", 256 | " \n", 257 | " \n", 258 | " \n", 259 | " \n", 260 | " \n", 261 | " \n", 262 | " \n", 263 | " \n", 264 | " \n", 265 | " \n", 266 | " \n", 267 | " \n", 268 | " \n", 269 | " \n", 270 | " \n", 271 | " \n", 272 | " \n", 273 | " \n", 274 | " \n", 275 | " \n", 276 | " \n", 277 | " \n", 278 | " \n", 279 | " \n", 280 | " \n", 281 | " \n", 282 | " \n", 283 | " \n", 284 | " \n", 285 | " \n", 286 | " \n", 287 | " \n", 288 | " \n", 289 | " \n", 290 | " \n", 291 | " \n", 292 | " \n", 293 | " \n", 294 | " \n", 295 | " \n", 296 | " \n", 297 | " \n", 298 | " \n", 299 | " \n", 300 | " \n", 301 | " \n", 302 | " \n", 303 | " \n", 304 | " \n", 305 | " \n", 306 | " \n", 307 | " \n", 308 | " \n", 309 | " \n", 310 | " \n", 311 | " \n", 312 | " \n", 313 | " \n", 314 | " \n", 315 | " \n", 316 | " \n", 317 | " \n", 318 | " \n", 319 | " \n", 320 | " \n", 321 | " \n", 322 | " \n", 323 | " \n", 324 | " \n", 325 | " \n", 326 | " \n", 327 | " \n", 328 | " \n", 329 | " \n", 330 | " \n", 331 | " \n", 332 | " \n", 333 | " \n", 334 | " \n", 335 | " \n", 336 | " \n", 337 | " \n", 338 | " \n", 339 | " \n", 340 | " \n", 341 | " \n", 342 | " \n", 343 | " \n", 344 | " \n", 345 | " \n", 346 | " \n", 347 | " \n", 348 | " \n", 349 | " \n", 350 | " \n", 351 | " \n", 352 | " \n", 353 | " \n", 354 | " \n", 355 | " \n", 356 | " \n", 357 | " \n", 358 | " \n", 359 | " \n", 360 | " \n", 361 | " \n", 362 | " \n", 363 | " \n", 364 | " \n", 365 | " \n", 366 | " \n", 367 | " \n", 368 | " \n", 369 | " \n", 370 | " \n", 371 | " \n", 372 | " \n", 373 | " \n", 374 | " \n", 375 | " \n", 376 | " \n", 377 | " \n", 378 | " \n", 379 | " \n", 380 | " \n", 381 | " \n", 382 | " \n", 383 | " \n", 384 | " \n", 385 | " \n", 386 | " \n", 387 | " \n", 388 | " \n", 389 | " \n", 390 | " \n", 391 | " \n", 392 | " \n", 393 | " \n", 394 | " \n", 395 | " \n", 396 | " \n", 397 | " \n", 398 | " \n", 399 | " \n", 400 | " \n", 401 | " \n", 402 | " \n", 403 | " \n", 404 | " \n", 405 | " \n", 406 | " \n", 407 | " \n", 408 | " \n", 409 | " \n", 410 | " \n", 411 | " \n", 412 | " \n", 413 | " \n", 414 | " \n", 415 | " \n", 416 | " \n", 417 | " \n", 418 | " \n", 419 | " \n", 420 | " \n", 421 | " \n", 422 | " \n", 423 | " \n", 424 | " \n", 425 | " \n", 426 | " \n", 427 | " \n", 428 | " \n", 429 | " \n", 430 | " \n", 431 | " \n", 432 | " \n", 433 | " \n", 434 | " \n", 435 | " \n", 436 | " \n", 437 | " \n", 438 | " \n", 439 | " \n", 440 | " \n", 441 | " \n", 442 | " \n", 443 | " \n", 444 | " \n", 445 | " \n", 446 | " \n", 447 | " \n", 448 | " \n", 449 | " \n", 450 | " \n", 451 | " \n", 452 | " \n", 453 | " \n", 454 | " \n", 455 | " \n", 456 | " \n", 457 | " \n", 458 | " \n", 459 | " \n", 460 | " \n", 461 | " \n", 462 | " \n", 463 | " \n", 464 | " \n", 465 | " \n", 466 | " \n", 467 | " \n", 468 | " \n", 469 | " \n", 470 | " \n", 471 | " \n", 472 | " \n", 473 | " \n", 474 | " \n", 475 | " \n", 476 | " \n", 477 | " \n", 478 | " \n", 479 | " \n", 480 | " \n", 481 | " \n", 482 | " \n", 483 | " \n", 484 | " \n", 485 | " \n", 486 | " \n", 487 | " \n", 488 | " \n", 489 | " \n", 490 | " \n", 491 | " \n", 492 | " \n", 493 | " \n", 494 | " \n", 495 | " \n", 496 | " \n", 497 | " \n", 498 | " \n", 499 | " \n", 500 | " \n", 501 | " \n", 502 | " \n", 503 | " \n", 504 | " \n", 505 | " \n", 506 | " \n", 507 | " \n", 508 | " \n", 509 | " \n", 510 | " \n", 511 | " \n", 512 | " \n", 513 | " \n", 514 | " \n", 515 | " \n", 516 | " \n", 517 | " \n", 518 | " \n", 519 | " \n", 520 | " \n", 521 | " \n", 522 | " \n", 523 | " \n", 524 | " \n", 525 | " \n", 526 | " \n", 527 | " \n", 528 | " \n", 529 | " \n", 530 | " \n", 531 | " \n", 532 | " \n", 533 | " \n", 534 | " \n", 535 | " \n", 536 | " \n", 537 | " \n", 538 | " \n", 539 | " \n", 540 | " \n", 541 | " \n", 542 | " \n", 543 | " \n", 544 | " \n", 545 | " \n", 546 | " \n", 547 | " \n", 548 | " \n", 549 | " \n", 550 | " \n", 551 | " \n", 552 | " \n", 553 | " \n", 554 | " \n", 555 | " \n", 556 | " \n", 557 | " \n", 558 | " \n", 559 | " \n", 560 | " \n", 561 | " \n", 562 | " \n", 563 | " \n", 564 | " \n", 565 | " \n", 566 | " \n", 567 | " \n", 568 | " \n", 569 | " \n", 570 | " \n", 571 | " \n", 572 | " \n", 573 | " \n", 574 | " \n", 575 | " \n", 576 | " \n", 577 | " \n", 578 | " \n", 579 | " \n", 580 | " \n", 581 | " \n", 582 | " \n", 583 | " \n", 584 | " \n", 585 | " \n", 586 | " \n", 587 | " \n", 588 | " \n", 589 | " \n", 590 | " \n", 591 | " \n", 592 | " \n", 593 | " \n", 594 | " \n", 595 | " \n", 596 | " \n", 597 | " \n", 598 | " \n", 599 | " \n", 600 | " \n", 601 | " \n", 602 | " \n", 603 | " \n", 604 | " \n", 605 | " \n", 606 | " \n", 607 | " \n", 608 | " \n", 609 | " \n", 610 | " \n", 611 | " \n", 612 | " \n", 613 | " \n", 614 | " \n", 615 | " \n", 616 | " \n", 617 | " \n", 618 | " \n", 619 | " \n", 620 | " \n", 621 | " \n", 622 | " \n", 623 | " \n", 624 | " \n", 625 | " \n", 626 | " \n", 627 | " \n", 628 | " \n", 629 | " \n", 630 | " \n", 631 | " \n", 632 | " \n", 633 | " \n", 634 | " \n", 635 | " \n", 636 | " \n", 637 | " \n", 638 | " \n", 639 | " \n", 640 | " \n", 641 | " \n", 642 | " \n", 643 | " \n", 644 | " \n", 645 | " \n", 646 | " \n", 647 | " \n", 648 | " \n", 649 | " \n", 650 | " \n", 651 | " \n", 652 | " \n", 653 | " \n", 654 | " \n", 655 | " \n", 656 | " \n", 657 | " \n", 658 | " \n", 659 | " \n", 660 | " \n", 661 | " \n", 662 | " \n", 663 | " \n", 664 | " \n", 665 | " \n", 666 | " \n", 667 | " \n", 668 | " \n", 669 | " \n", 670 | " \n", 671 | " \n", 672 | " \n", 673 | " \n", 674 | " \n", 675 | " \n", 676 | " \n", 677 | " \n", 678 | " \n", 679 | " \n", 680 | " \n", 681 | " \n", 682 | " \n", 683 | " \n", 684 | " \n", 685 | " \n", 686 | " \n", 687 | " \n", 688 | " \n", 689 | " \n", 690 | " \n", 691 | " \n", 692 | " \n", 693 | " \n", 694 | " \n", 695 | " \n", 696 | " \n", 697 | " \n", 698 | " \n", 699 | " \n", 700 | " \n", 701 | " \n", 702 | " \n", 703 | " \n", 704 | " \n", 705 | " \n", 706 | " \n", 707 | " \n", 708 | " \n", 709 | " \n", 710 | " \n", 711 | " \n", 712 | " \n", 713 | " \n", 714 | " \n", 715 | " \n", 716 | " \n", 717 | " \n", 718 | " \n", 719 | " \n", 720 | " \n", 721 | " \n", 722 | " \n", 723 | " \n", 724 | " \n", 725 | " \n", 726 | " \n", 727 | " \n", 728 | " \n", 729 | " \n", 730 | " \n", 731 | " \n", 732 | " \n", 733 | " \n", 734 | " \n", 735 | " \n", 736 | " \n", 737 | " \n", 738 | " \n", 739 | " \n", 740 | " \n", 741 | " \n", 742 | " \n", 743 | " \n", 744 | " \n", 745 | " \n", 746 | " \n", 747 | " \n", 748 | " \n", 749 | " \n", 750 | " \n", 751 | " \n", 752 | " \n", 753 | " \n", 754 | " \n", 755 | " \n", 756 | " \n", 757 | " \n", 758 | " \n", 759 | " \n", 760 | " \n", 761 | " \n", 762 | " \n", 763 | " \n", 764 | " \n", 765 | " \n", 766 | " \n", 767 | " \n", 768 | " \n", 769 | " \n", 770 | " \n", 771 | " \n", 772 | " \n", 773 | " \n", 774 | " \n", 775 | " \n", 776 | " \n", 777 | " \n", 778 | " \n", 779 | " \n", 780 | " \n", 781 | " \n", 782 | " \n", 783 | " \n", 784 | " \n", 785 | " \n", 786 | " \n", 787 | " \n", 788 | " \n", 789 | " \n", 790 | " \n", 791 | " \n", 792 | " \n", 793 | " \n", 794 | " \n", 795 | " \n", 796 | " \n", 797 | " \n", 798 | " \n", 799 | " \n", 800 | " \n", 801 | " \n", 802 | " \n", 803 | " \n", 804 | " \n", 805 | " \n", 806 | " \n", 807 | " \n", 808 | " \n", 809 | " \n", 810 | " \n", 811 | " \n", 812 | " \n", 813 | " \n", 814 | " \n", 815 | " \n", 816 | " \n", 817 | " \n", 818 | " \n", 819 | " \n", 820 | " \n", 821 | " \n", 822 | " \n", 823 | " \n", 824 | " \n", 825 | " \n", 826 | " \n", 827 | " \n", 828 | " \n", 829 | " \n", 830 | " \n", 831 | " \n", 832 | " \n", 833 | " \n", 834 | " \n", 835 | " \n", 836 | " \n", 837 | " \n", 838 | " \n", 839 | " \n", 840 | " \n", 841 | " \n", 842 | " \n", 843 | " \n", 844 | " \n", 845 | " \n", 846 | " \n", 847 | " \n", 848 | " \n", 849 | " \n", 850 | " \n", 851 | " \n", 852 | " \n", 853 | " \n", 854 | " \n", 855 | " \n", 856 | " \n", 857 | " \n", 858 | " \n", 859 | " \n", 860 | " \n", 861 | " \n", 862 | " \n", 863 | " \n", 864 | " \n", 865 | " \n", 866 | " \n", 867 | " \n", 868 | " \n", 869 | " \n", 870 | " \n", 871 | " \n", 872 | " \n", 873 | " \n", 874 | " \n", 875 | " \n", 876 | " \n", 877 | " \n", 878 | " \n", 879 | " \n", 880 | " \n", 881 | " \n", 882 | " \n", 883 | " \n", 884 | " \n", 885 | " \n", 886 | " \n", 887 | " \n", 888 | " \n", 889 | " \n", 890 | " \n", 891 | " \n", 892 | " \n", 893 | " \n", 894 | " \n", 895 | " \n", 896 | " \n", 897 | " \n", 898 | " \n", 899 | " \n", 900 | " \n", 901 | " \n", 902 | " \n", 903 | " \n", 904 | " \n", 905 | " \n", 906 | " \n", 907 | " \n", 908 | " \n", 909 | " \n", 910 | " \n", 911 | " \n", 912 | " \n", 913 | " \n", 914 | " \n", 915 | " \n", 916 | " \n", 917 | " \n", 918 | " \n", 919 | " \n", 920 | " \n", 921 | " \n", 922 | " \n", 923 | " \n", 924 | " \n", 925 | " \n", 926 | " \n", 927 | " \n", 928 | " \n", 929 | " \n", 930 | " \n", 931 | " \n", 932 | " \n", 933 | " \n", 934 | " \n", 935 | " \n", 936 | " \n", 937 | " \n", 938 | " \n", 939 | " \n", 940 | " \n", 941 | " \n", 942 | " \n", 943 | " \n", 944 | " \n", 945 | " \n", 946 | " \n", 947 | " \n", 948 | " \n", 949 | " \n", 950 | " \n", 951 | " \n", 952 | " \n", 953 | " \n", 954 | " \n", 955 | " \n", 956 | " \n", 957 | " \n", 958 | " \n", 959 | " \n", 960 | " \n", 961 | " \n", 962 | " \n", 963 | " \n", 964 | " \n", 965 | " \n", 966 | " \n", 967 | " \n", 968 | " \n", 969 | " \n", 970 | " \n", 971 | " \n", 972 | " \n", 973 | " \n", 974 | " \n", 975 | " \n", 976 | " \n", 977 | " \n", 978 | " \n", 979 | " \n", 980 | " \n", 981 | " \n", 982 | " \n", 983 | " \n", 984 | " \n", 985 | " \n", 986 | " \n", 987 | " \n", 988 | " \n", 989 | " \n", 990 | " \n", 991 | " \n", 992 | " \n", 993 | " \n", 994 | " \n", 995 | " \n", 996 | " \n", 997 | " \n", 998 | " \n", 999 | " \n", 1000 | " \n", 1001 | " \n", 1002 | " \n", 1003 | " \n", 1004 | " \n", 1005 | " \n", 1006 | " \n", 1007 | " \n", 1008 | " \n", 1009 | " \n", 1010 | " \n", 1011 | " \n", 1012 | " \n", 1013 | " \n", 1014 | " \n", 1015 | " \n", 1016 | " \n", 1017 | " \n", 1018 | " \n", 1019 | " \n", 1020 | " \n", 1021 | " \n", 1022 | " \n", 1023 | " \n", 1024 | " \n", 1025 | " \n", 1026 | " \n", 1027 | " \n", 1028 | " \n", 1029 | " \n", 1030 | " \n", 1031 | " \n", 1032 | " \n", 1033 | " \n", 1034 | " \n", 1035 | " \n", 1036 | " \n", 1037 | " \n", 1038 | " \n", 1039 | " \n", 1040 | " \n", 1041 | " \n", 1042 | " \n", 1043 | " \n", 1044 | " \n", 1045 | " \n", 1046 | " \n", 1047 | " \n", 1048 | " \n", 1049 | " \n", 1050 | " \n", 1051 | " \n", 1052 | " \n", 1053 | " \n", 1054 | " \n", 1055 | " \n", 1056 | " \n", 1057 | " \n", 1058 | " \n", 1059 | " \n", 1060 | " \n", 1061 | " \n", 1062 | " \n", 1063 | " \n", 1064 | " \n", 1065 | " \n", 1066 | " \n", 1067 | " \n", 1068 | " \n", 1069 | " \n", 1070 | " \n", 1071 | " \n", 1072 | " \n", 1073 | " \n", 1074 | " \n", 1075 | " \n", 1076 | " \n", 1077 | " \n", 1078 | " \n", 1079 | " \n", 1080 | " \n", 1081 | " \n", 1082 | " \n", 1083 | " \n", 1084 | " \n", 1085 | " \n", 1086 | " \n", 1087 | " \n", 1088 | " \n", 1089 | " \n", 1090 | " \n", 1091 | " \n", 1092 | " \n", 1093 | " \n", 1094 | " \n", 1095 | " \n", 1096 | " \n", 1097 | " \n", 1098 | " \n", 1099 | " \n", 1100 | " \n", 1101 | " \n", 1102 | " \n", 1103 | " \n", 1104 | " \n", 1105 | " \n", 1106 | " \n", 1107 | " \n", 1108 | " \n", 1109 | " \n", 1110 | " \n", 1111 | " \n", 1112 | " \n", 1113 | " \n", 1114 | " \n", 1115 | " \n", 1116 | " \n", 1117 | " \n", 1118 | "
Vehicle_IDFrame_IDTotal_FramesGlobal_TimeLocal_XLocal_YGlobal_XGlobal_Yv_Lengthv_Widthv_Classv_Velv_AccLane_IDPreceedingFollowingSpace_HdwyTime_Hdwy
0213437111884698020016.46735.3816451137.6411873344.96214.54.9240.000.002000.00.0
1214437111884698030016.44739.3816451140.3291873342.00014.54.9240.000.002000.00.0
2215437111884698040016.42643.3816451143.0181873339.03814.54.9240.000.002000.00.0
3216437111884698050016.40547.3806451145.7061873336.07714.54.9240.000.002000.00.0
4217437111884698060016.38551.3816451148.3951873333.11514.54.9240.000.002000.00.0
5218437111884698070016.36455.3816451151.0841873330.15314.54.9240.000.002000.00.0
6219437111884698080016.34459.3816451153.7721873327.19214.54.9240.000.002000.00.0
7220437111884698090016.32363.3796451156.4611873324.23014.54.9240.020.252000.00.0
8221437111884698100016.30367.3836451159.1491873321.26814.54.9240.030.132000.00.0
9222437111884698110016.28271.3986451161.8381873318.30714.54.9239.93-1.6320130.00.0
10223437111884698120016.26275.4016451164.5461873315.32314.54.9239.61-4.5420130.00.0
11224437111884698130016.25479.3496451167.1991873312.38214.54.9239.14-5.7320130.00.0
12225437111884698140016.22183.2336451169.8021873309.53314.54.9238.61-5.1520130.00.0
13226437111884698150016.20187.0436451172.3581873306.71914.54.9238.28-1.6120130.00.0
14227437111884698160016.16990.8296451174.9611873303.87014.54.9238.423.7320130.00.0
15228437111884698170016.20494.6836451177.6131873300.92914.54.9238.784.8620130.00.0
16229437111884698180016.25298.6116451180.3421873297.92414.54.9238.920.0020130.00.0
17230437111884698190016.339102.5606451182.9801873294.96114.54.9238.54-8.5920130.00.0
18231437111884698200016.400106.3856451185.5371873292.12214.54.9237.51-11.2020130.00.0
19232437111884698210016.430110.0796451188.0211873289.40814.54.9236.34-10.8620130.00.0
20233437111884698220016.435113.6286451190.4241873286.81714.54.9235.50-6.2020130.00.0
21234437111884698230016.478117.1186451192.7571873284.24714.54.9235.08-1.8920130.00.0
22235437111884698240016.520120.6006451195.1091873281.65614.54.9234.960.1820130.00.0
23236437111884698250016.562124.0966451197.4621873279.06514.54.9234.980.2520130.00.0
24237437111884698260016.605127.5976451199.8141873276.47314.54.9235.000.0420130.00.0
25238437111884698270016.647131.0996451202.1671873273.88214.54.9234.99-0.2020130.00.0
26239437111884698280016.691134.5956451204.5191873271.29014.54.9234.98-0.0220130.00.0
27240437111884698290016.727138.0816451206.8791873268.70014.54.9235.101.9520130.00.0
28241437111884698300016.796141.5786451209.1911873266.11314.54.9235.495.5520130.00.0
29242437111884698310016.795145.1316451211.6101873263.51414.54.9236.208.9920130.00.0
30243437111884698320016.724148.7846451214.1561873260.88214.54.9237.1510.4420130.00.0
31244437111884698330016.588152.5596451216.8241873258.21314.54.9238.129.3020130.00.0
32245437111884698340016.376156.4496451219.6161873255.52214.54.9238.764.3620130.00.0
33246437111884698350016.064160.3796451222.5481873252.82914.54.9238.95-0.7320130.00.0
34247437111884698360015.763164.2776451225.4621873250.13914.54.9238.95-1.1520130.00.0
35248437111884698370015.471168.1506451228.3761873247.45014.54.9238.991.9020130.00.0
36249437111884698380015.226172.0446451231.2901873244.76014.54.9239.183.4720130.00.0
37250437111884698390014.979176.0006451234.2041873242.07114.54.9239.340.0220130.00.0
38251437111884698400014.720179.9596451237.1441873239.37414.54.9239.20-3.5220130.00.0
39252437111884698410014.508183.8626451239.9881873236.70814.54.9238.89-3.2820130.00.0
40253437111884698420014.331187.7166451242.7701873234.05714.54.9238.73-0.3320130.00.0
41254437111884698430014.240191.5616451245.5011873231.33614.54.9238.883.4920130.00.0
42255437111884698440014.309195.4556451248.1251873228.49414.54.9239.285.0020130.00.0
43256437111884698450014.428199.4146451250.7881873225.53914.54.9239.683.7620130.00.0
44257437111884698460014.540203.4176451253.4891873222.55414.54.9239.941.2920130.00.0
45258437111884698470014.646207.4306451256.1771873219.59214.54.9240.02-0.2220130.00.0
46259437111884698480014.751211.4316451258.8661873216.63014.54.9240.00-0.2120130.00.0
47260437111884698490014.856215.4286451261.5541873213.66914.54.9239.990.0020130.00.0
48261437111884698500014.962219.4276451264.2431873210.70714.54.9239.990.0020130.00.0
49262437111884698510015.067223.4626451266.9321873207.74514.54.9239.65-5.3520130.00.0
\n", 1119 | "
" 1120 | ], 1121 | "text/plain": [ 1122 | " Vehicle_ID Frame_ID Total_Frames Global_Time Local_X Local_Y \\\n", 1123 | "0 2 13 437 1118846980200 16.467 35.381 \n", 1124 | "1 2 14 437 1118846980300 16.447 39.381 \n", 1125 | "2 2 15 437 1118846980400 16.426 43.381 \n", 1126 | "3 2 16 437 1118846980500 16.405 47.380 \n", 1127 | "4 2 17 437 1118846980600 16.385 51.381 \n", 1128 | "5 2 18 437 1118846980700 16.364 55.381 \n", 1129 | "6 2 19 437 1118846980800 16.344 59.381 \n", 1130 | "7 2 20 437 1118846980900 16.323 63.379 \n", 1131 | "8 2 21 437 1118846981000 16.303 67.383 \n", 1132 | "9 2 22 437 1118846981100 16.282 71.398 \n", 1133 | "10 2 23 437 1118846981200 16.262 75.401 \n", 1134 | "11 2 24 437 1118846981300 16.254 79.349 \n", 1135 | "12 2 25 437 1118846981400 16.221 83.233 \n", 1136 | "13 2 26 437 1118846981500 16.201 87.043 \n", 1137 | "14 2 27 437 1118846981600 16.169 90.829 \n", 1138 | "15 2 28 437 1118846981700 16.204 94.683 \n", 1139 | "16 2 29 437 1118846981800 16.252 98.611 \n", 1140 | "17 2 30 437 1118846981900 16.339 102.560 \n", 1141 | "18 2 31 437 1118846982000 16.400 106.385 \n", 1142 | "19 2 32 437 1118846982100 16.430 110.079 \n", 1143 | "20 2 33 437 1118846982200 16.435 113.628 \n", 1144 | "21 2 34 437 1118846982300 16.478 117.118 \n", 1145 | "22 2 35 437 1118846982400 16.520 120.600 \n", 1146 | "23 2 36 437 1118846982500 16.562 124.096 \n", 1147 | "24 2 37 437 1118846982600 16.605 127.597 \n", 1148 | "25 2 38 437 1118846982700 16.647 131.099 \n", 1149 | "26 2 39 437 1118846982800 16.691 134.595 \n", 1150 | "27 2 40 437 1118846982900 16.727 138.081 \n", 1151 | "28 2 41 437 1118846983000 16.796 141.578 \n", 1152 | "29 2 42 437 1118846983100 16.795 145.131 \n", 1153 | "30 2 43 437 1118846983200 16.724 148.784 \n", 1154 | "31 2 44 437 1118846983300 16.588 152.559 \n", 1155 | "32 2 45 437 1118846983400 16.376 156.449 \n", 1156 | "33 2 46 437 1118846983500 16.064 160.379 \n", 1157 | "34 2 47 437 1118846983600 15.763 164.277 \n", 1158 | "35 2 48 437 1118846983700 15.471 168.150 \n", 1159 | "36 2 49 437 1118846983800 15.226 172.044 \n", 1160 | "37 2 50 437 1118846983900 14.979 176.000 \n", 1161 | "38 2 51 437 1118846984000 14.720 179.959 \n", 1162 | "39 2 52 437 1118846984100 14.508 183.862 \n", 1163 | "40 2 53 437 1118846984200 14.331 187.716 \n", 1164 | "41 2 54 437 1118846984300 14.240 191.561 \n", 1165 | "42 2 55 437 1118846984400 14.309 195.455 \n", 1166 | "43 2 56 437 1118846984500 14.428 199.414 \n", 1167 | "44 2 57 437 1118846984600 14.540 203.417 \n", 1168 | "45 2 58 437 1118846984700 14.646 207.430 \n", 1169 | "46 2 59 437 1118846984800 14.751 211.431 \n", 1170 | "47 2 60 437 1118846984900 14.856 215.428 \n", 1171 | "48 2 61 437 1118846985000 14.962 219.427 \n", 1172 | "49 2 62 437 1118846985100 15.067 223.462 \n", 1173 | "\n", 1174 | " Global_X Global_Y v_Length v_Width v_Class v_Vel v_Acc \\\n", 1175 | "0 6451137.641 1873344.962 14.5 4.9 2 40.00 0.00 \n", 1176 | "1 6451140.329 1873342.000 14.5 4.9 2 40.00 0.00 \n", 1177 | "2 6451143.018 1873339.038 14.5 4.9 2 40.00 0.00 \n", 1178 | "3 6451145.706 1873336.077 14.5 4.9 2 40.00 0.00 \n", 1179 | "4 6451148.395 1873333.115 14.5 4.9 2 40.00 0.00 \n", 1180 | "5 6451151.084 1873330.153 14.5 4.9 2 40.00 0.00 \n", 1181 | "6 6451153.772 1873327.192 14.5 4.9 2 40.00 0.00 \n", 1182 | "7 6451156.461 1873324.230 14.5 4.9 2 40.02 0.25 \n", 1183 | "8 6451159.149 1873321.268 14.5 4.9 2 40.03 0.13 \n", 1184 | "9 6451161.838 1873318.307 14.5 4.9 2 39.93 -1.63 \n", 1185 | "10 6451164.546 1873315.323 14.5 4.9 2 39.61 -4.54 \n", 1186 | "11 6451167.199 1873312.382 14.5 4.9 2 39.14 -5.73 \n", 1187 | "12 6451169.802 1873309.533 14.5 4.9 2 38.61 -5.15 \n", 1188 | "13 6451172.358 1873306.719 14.5 4.9 2 38.28 -1.61 \n", 1189 | "14 6451174.961 1873303.870 14.5 4.9 2 38.42 3.73 \n", 1190 | "15 6451177.613 1873300.929 14.5 4.9 2 38.78 4.86 \n", 1191 | "16 6451180.342 1873297.924 14.5 4.9 2 38.92 0.00 \n", 1192 | "17 6451182.980 1873294.961 14.5 4.9 2 38.54 -8.59 \n", 1193 | "18 6451185.537 1873292.122 14.5 4.9 2 37.51 -11.20 \n", 1194 | "19 6451188.021 1873289.408 14.5 4.9 2 36.34 -10.86 \n", 1195 | "20 6451190.424 1873286.817 14.5 4.9 2 35.50 -6.20 \n", 1196 | "21 6451192.757 1873284.247 14.5 4.9 2 35.08 -1.89 \n", 1197 | "22 6451195.109 1873281.656 14.5 4.9 2 34.96 0.18 \n", 1198 | "23 6451197.462 1873279.065 14.5 4.9 2 34.98 0.25 \n", 1199 | "24 6451199.814 1873276.473 14.5 4.9 2 35.00 0.04 \n", 1200 | "25 6451202.167 1873273.882 14.5 4.9 2 34.99 -0.20 \n", 1201 | "26 6451204.519 1873271.290 14.5 4.9 2 34.98 -0.02 \n", 1202 | "27 6451206.879 1873268.700 14.5 4.9 2 35.10 1.95 \n", 1203 | "28 6451209.191 1873266.113 14.5 4.9 2 35.49 5.55 \n", 1204 | "29 6451211.610 1873263.514 14.5 4.9 2 36.20 8.99 \n", 1205 | "30 6451214.156 1873260.882 14.5 4.9 2 37.15 10.44 \n", 1206 | "31 6451216.824 1873258.213 14.5 4.9 2 38.12 9.30 \n", 1207 | "32 6451219.616 1873255.522 14.5 4.9 2 38.76 4.36 \n", 1208 | "33 6451222.548 1873252.829 14.5 4.9 2 38.95 -0.73 \n", 1209 | "34 6451225.462 1873250.139 14.5 4.9 2 38.95 -1.15 \n", 1210 | "35 6451228.376 1873247.450 14.5 4.9 2 38.99 1.90 \n", 1211 | "36 6451231.290 1873244.760 14.5 4.9 2 39.18 3.47 \n", 1212 | "37 6451234.204 1873242.071 14.5 4.9 2 39.34 0.02 \n", 1213 | "38 6451237.144 1873239.374 14.5 4.9 2 39.20 -3.52 \n", 1214 | "39 6451239.988 1873236.708 14.5 4.9 2 38.89 -3.28 \n", 1215 | "40 6451242.770 1873234.057 14.5 4.9 2 38.73 -0.33 \n", 1216 | "41 6451245.501 1873231.336 14.5 4.9 2 38.88 3.49 \n", 1217 | "42 6451248.125 1873228.494 14.5 4.9 2 39.28 5.00 \n", 1218 | "43 6451250.788 1873225.539 14.5 4.9 2 39.68 3.76 \n", 1219 | "44 6451253.489 1873222.554 14.5 4.9 2 39.94 1.29 \n", 1220 | "45 6451256.177 1873219.592 14.5 4.9 2 40.02 -0.22 \n", 1221 | "46 6451258.866 1873216.630 14.5 4.9 2 40.00 -0.21 \n", 1222 | "47 6451261.554 1873213.669 14.5 4.9 2 39.99 0.00 \n", 1223 | "48 6451264.243 1873210.707 14.5 4.9 2 39.99 0.00 \n", 1224 | "49 6451266.932 1873207.745 14.5 4.9 2 39.65 -5.35 \n", 1225 | "\n", 1226 | " Lane_ID Preceeding Following Space_Hdwy Time_Hdwy \n", 1227 | "0 2 0 0 0.0 0.0 \n", 1228 | "1 2 0 0 0.0 0.0 \n", 1229 | "2 2 0 0 0.0 0.0 \n", 1230 | "3 2 0 0 0.0 0.0 \n", 1231 | "4 2 0 0 0.0 0.0 \n", 1232 | "5 2 0 0 0.0 0.0 \n", 1233 | "6 2 0 0 0.0 0.0 \n", 1234 | "7 2 0 0 0.0 0.0 \n", 1235 | "8 2 0 0 0.0 0.0 \n", 1236 | "9 2 0 13 0.0 0.0 \n", 1237 | "10 2 0 13 0.0 0.0 \n", 1238 | "11 2 0 13 0.0 0.0 \n", 1239 | "12 2 0 13 0.0 0.0 \n", 1240 | "13 2 0 13 0.0 0.0 \n", 1241 | "14 2 0 13 0.0 0.0 \n", 1242 | "15 2 0 13 0.0 0.0 \n", 1243 | "16 2 0 13 0.0 0.0 \n", 1244 | "17 2 0 13 0.0 0.0 \n", 1245 | "18 2 0 13 0.0 0.0 \n", 1246 | "19 2 0 13 0.0 0.0 \n", 1247 | "20 2 0 13 0.0 0.0 \n", 1248 | "21 2 0 13 0.0 0.0 \n", 1249 | "22 2 0 13 0.0 0.0 \n", 1250 | "23 2 0 13 0.0 0.0 \n", 1251 | "24 2 0 13 0.0 0.0 \n", 1252 | "25 2 0 13 0.0 0.0 \n", 1253 | "26 2 0 13 0.0 0.0 \n", 1254 | "27 2 0 13 0.0 0.0 \n", 1255 | "28 2 0 13 0.0 0.0 \n", 1256 | "29 2 0 13 0.0 0.0 \n", 1257 | "30 2 0 13 0.0 0.0 \n", 1258 | "31 2 0 13 0.0 0.0 \n", 1259 | "32 2 0 13 0.0 0.0 \n", 1260 | "33 2 0 13 0.0 0.0 \n", 1261 | "34 2 0 13 0.0 0.0 \n", 1262 | "35 2 0 13 0.0 0.0 \n", 1263 | "36 2 0 13 0.0 0.0 \n", 1264 | "37 2 0 13 0.0 0.0 \n", 1265 | "38 2 0 13 0.0 0.0 \n", 1266 | "39 2 0 13 0.0 0.0 \n", 1267 | "40 2 0 13 0.0 0.0 \n", 1268 | "41 2 0 13 0.0 0.0 \n", 1269 | "42 2 0 13 0.0 0.0 \n", 1270 | "43 2 0 13 0.0 0.0 \n", 1271 | "44 2 0 13 0.0 0.0 \n", 1272 | "45 2 0 13 0.0 0.0 \n", 1273 | "46 2 0 13 0.0 0.0 \n", 1274 | "47 2 0 13 0.0 0.0 \n", 1275 | "48 2 0 13 0.0 0.0 \n", 1276 | "49 2 0 13 0.0 0.0 " 1277 | ] 1278 | }, 1279 | "execution_count": 125, 1280 | "metadata": {}, 1281 | "output_type": "execute_result" 1282 | } 1283 | ], 1284 | "source": [ 1285 | "init_df1 = pd.read_csv(r'D:\\NGSIM\\us-101\\us-101-vehicle-trajectory-data\\vehicle-trajectory-data\\0750am-0805am\\trajectories-0750am-0805am.csv')\n", 1286 | "init_df1.head(50)" 1287 | ] 1288 | }, 1289 | { 1290 | "cell_type": "code", 1291 | "execution_count": 52, 1292 | "id": "932ba550", 1293 | "metadata": {}, 1294 | "outputs": [], 1295 | "source": [ 1296 | "df_pre2 = init_df1.loc[init_df1['Lane_ID']== 2]\n", 1297 | "list_2 = df_pre2['Vehicle_ID'].drop_duplicates().to_list()\n", 1298 | "df_pre1 = init_df1.loc[init_df1['Lane_ID']== 1]\n", 1299 | "list_1 = df_pre1['Vehicle_ID'].drop_duplicates().to_list()\n", 1300 | "df_pre3 = init_df1.loc[init_df1['Lane_ID']== 3]\n", 1301 | "list_3 = df_pre3['Vehicle_ID'].drop_duplicates().to_list()\n", 1302 | "df_pre4 = init_df1.loc[init_df1['Lane_ID']== 4]\n", 1303 | "list_4 = df_pre4['Vehicle_ID'].drop_duplicates().to_list()\n", 1304 | "df_pre5 = init_df1.loc[init_df1['Lane_ID']== 5]\n", 1305 | "list_5 = df_pre5['Vehicle_ID'].drop_duplicates().to_list()" 1306 | ] 1307 | }, 1308 | { 1309 | "cell_type": "code", 1310 | "execution_count": 3, 1311 | "id": "1c2508f3", 1312 | "metadata": {}, 1313 | "outputs": [], 1314 | "source": [ 1315 | "#定义取合集的函数\n", 1316 | "def extra_same_elem2(list1, list2,list3):\n", 1317 | " set1 = set(list1)\n", 1318 | " set2 = set(list2)\n", 1319 | " set3 = set(list3)\n", 1320 | " iset = set1.intersection(set2)\n", 1321 | " iset = iset.intersection(set3)\n", 1322 | " return list(iset)\n", 1323 | "\n", 1324 | "def extra_same_elem(list1, list2):\n", 1325 | " set1 = set(list1)\n", 1326 | " set2 = set(list2)\n", 1327 | " iset = set1.intersection(set2)\n", 1328 | " return list(iset)" 1329 | ] 1330 | }, 1331 | { 1332 | "cell_type": "code", 1333 | "execution_count": 5, 1334 | "id": "1b51f811", 1335 | "metadata": { 1336 | "scrolled": true 1337 | }, 1338 | "outputs": [], 1339 | "source": [ 1340 | "#原数据分组\n", 1341 | "def get_group_data(list_k,list_m,list_n,list_x,list_y,k,m,n,x,y,z,q,base_dir,init_df):#k = 12,m = 23 , n = 123,x = 234,y = 34,z = 345,q = 45\n", 1342 | " \n", 1343 | " name_list = [k,m,n,x,y,z,q]\n", 1344 | " \n", 1345 | " list_out = extra_same_elem(list_k,list_m)#1 and 2\n", 1346 | " list_out1 = extra_same_elem(list_m,list_n)# 2 and 3\n", 1347 | " list_out2 = extra_same_elem2(list_k, list_m,list_n)# 1 and 2 and 3\n", 1348 | " list_out3 = extra_same_elem2(list_m, list_n,list_x)# 2 and 3 and 4\n", 1349 | " list_out4 = extra_same_elem(list_n,list_x)#3 and 4\n", 1350 | " list_out5 = extra_same_elem2(list_n, list_x,list_y)# 3 and 4 and 5\n", 1351 | " list_out6 = extra_same_elem(list_x,list_y)#4 and 5\n", 1352 | " \n", 1353 | "# for item in name_list:\n", 1354 | "# os.mkdir(base_dir + '{name}'.format(name = item))\n", 1355 | " \n", 1356 | " \n", 1357 | " for item in list_out:\n", 1358 | " if item in list_out2:\n", 1359 | " list_out.remove(item)\n", 1360 | " \n", 1361 | " for item in list_out1:\n", 1362 | " if item in list_out2:\n", 1363 | " list_out1.remove(item)\n", 1364 | " if item in list_out3:\n", 1365 | " if item in list_out1:\n", 1366 | " list_out1.remove(item)\n", 1367 | " \n", 1368 | " for item in list_out4:\n", 1369 | " if item in list_out3:\n", 1370 | " list_out4.remove(item)\n", 1371 | " if item in list_out5:\n", 1372 | " if item in list_out4:\n", 1373 | " list_out4.remove(item)\n", 1374 | " \n", 1375 | " for item in list_out6:\n", 1376 | " if item in list_out5:\n", 1377 | " list_out6.remove(item)\n", 1378 | "\n", 1379 | " for item in list_out:\n", 1380 | " dfi = init_df.loc[init_df['Vehicle_ID']== item]\n", 1381 | " dfi.to_excel(base_dir + \"{namepre}\\\\df_{name}.xlsx\".format(namepre = k,name = item))\n", 1382 | " for item in list_out1:\n", 1383 | " dfi = init_df.loc[init_df['Vehicle_ID']== item]\n", 1384 | " dfi.to_excel(base_dir + \"{namepre}\\\\df_{name}.xlsx\".format(namepre = m,name = item))\n", 1385 | " for item in list_out2:\n", 1386 | " dfi = init_df.loc[init_df['Vehicle_ID']== item]\n", 1387 | " dfi.to_excel(base_dir + \"{namepre}\\\\df_{name}.xlsx\".format(namepre = n,name = item))\n", 1388 | " for item in list_out3:\n", 1389 | " dfi = init_df.loc[init_df['Vehicle_ID']== item]\n", 1390 | " dfi.to_excel(base_dir + \"{namepre}\\\\df_{name}.xlsx\".format(namepre = x,name = item))\n", 1391 | " for item in list_out4:\n", 1392 | " dfi = init_df.loc[init_df['Vehicle_ID']== item]\n", 1393 | " dfi.to_excel(base_dir + \"{namepre}\\\\df_{name}.xlsx\".format(namepre = y,name = item))\n", 1394 | " for item in list_out5:\n", 1395 | " dfi = init_df.loc[init_df['Vehicle_ID']== item]\n", 1396 | " dfi.to_excel(base_dir + \"{namepre}\\\\df_{name}.xlsx\".format(namepre = z,name = item))\n", 1397 | " for item in list_out6:\n", 1398 | " dfi = init_df.loc[init_df['Vehicle_ID']== item]\n", 1399 | " dfi.to_excel(base_dir + \"{namepre}\\\\df_{name}.xlsx\".format(namepre = q,name = item))" 1400 | ] 1401 | }, 1402 | { 1403 | "cell_type": "code", 1404 | "execution_count": 79, 1405 | "id": "176488ea", 1406 | "metadata": {}, 1407 | "outputs": [], 1408 | "source": [ 1409 | "#get_group_data(list_1,list_2,list_3,list_4,list_5,\"12\",\"23\",\"123\",\"234\",\"34\",\"345\",\"45\")" 1410 | ] 1411 | }, 1412 | { 1413 | "cell_type": "code", 1414 | "execution_count": 6, 1415 | "id": "c4854a46", 1416 | "metadata": {}, 1417 | "outputs": [], 1418 | "source": [ 1419 | "#719,104,删除文件\n", 1420 | "def remove_unusable_data(df_dir,num1,num2):\n", 1421 | " df_num = pd.read_excel(df_dir)\n", 1422 | " df_num_num2 = list(df_num['Lane_ID']).count(num2)\n", 1423 | " df_num_num1 = list(df_num['Lane_ID']).count(num1)\n", 1424 | " if df_num_num1 < 10 or df_num_num2 <10:\n", 1425 | " os.remove(df_dir) " 1426 | ] 1427 | }, 1428 | { 1429 | "cell_type": "code", 1430 | "execution_count": 350, 1431 | "id": "6446c672", 1432 | "metadata": {}, 1433 | "outputs": [], 1434 | "source": [ 1435 | "#获取文件路径名称列表\n", 1436 | "def get_files_list(base_dir):\n", 1437 | " dir_num_list = os.listdir(base_dir)\n", 1438 | " root_dir = base_dir+\"\\\\\"\n", 1439 | " files_dir_list = []\n", 1440 | " for item in range(len(dir_num_list)):\n", 1441 | " files_dir_list.append(root_dir + dir_num_list[item])\n", 1442 | " return files_dir_list,dir_num_list" 1443 | ] 1444 | }, 1445 | { 1446 | "cell_type": "code", 1447 | "execution_count": 351, 1448 | "id": "c7edf022", 1449 | "metadata": { 1450 | "scrolled": true 1451 | }, 1452 | "outputs": [], 1453 | "source": [ 1454 | "#数据清洗\n", 1455 | "def data_clean(base_dir,num1,num2):\n", 1456 | " files_dir_list,dir_num_list = get_files_list(base_dir)\n", 1457 | " for item in files_dir_list:\n", 1458 | " remove_unusable_data(item,num1,num2)" 1459 | ] 1460 | }, 1461 | { 1462 | "cell_type": "code", 1463 | "execution_count": 352, 1464 | "id": "4fb1cd0f", 1465 | "metadata": {}, 1466 | "outputs": [], 1467 | "source": [ 1468 | "def shutil_data(df_name,num1,num2,base_dir):\n", 1469 | " df_num = pd.read_excel(base_dir + num1 + num2 + \"\\\\\" + df_name)\n", 1470 | " first_lane = df_num.head(1)['Lane_ID'].tolist()[0]\n", 1471 | " if first_lane == int(num1):\n", 1472 | " copy(base_dir + '{name1}\\\\{name2}'.format(name1 = num1 + num2,name2 = df_name), \n", 1473 | " base_dir + '{name1}\\\\{name2}'.format(name1 = num1 + ' to ' + num2, name2 = df_name))\n", 1474 | " else:\n", 1475 | " copy(base_dir + '{name1}\\\\{name2}'.format(name1 = num1 + num2,name2 = df_name), \n", 1476 | " base_dir + '{name1}\\\\{name2}'.format(name1 = num2 + ' to ' + num1, name2 = df_name))\n" 1477 | ] 1478 | }, 1479 | { 1480 | "cell_type": "code", 1481 | "execution_count": 236, 1482 | "id": "bf1f9688", 1483 | "metadata": {}, 1484 | "outputs": [], 1485 | "source": [ 1486 | "#12文件夹数据分类拷贝\n", 1487 | "#for item in dir_num_list_12:\n", 1488 | " #shutil_data(item,'1','2')" 1489 | ] 1490 | }, 1491 | { 1492 | "cell_type": "code", 1493 | "execution_count": null, 1494 | "id": "3ac42047", 1495 | "metadata": {}, 1496 | "outputs": [], 1497 | "source": [ 1498 | "#################################至此开始2到一数据处理###########################" 1499 | ] 1500 | }, 1501 | { 1502 | "cell_type": "code", 1503 | "execution_count": 10, 1504 | "id": "5cb83d10", 1505 | "metadata": {}, 1506 | "outputs": [], 1507 | "source": [ 1508 | "#13m 以上就是2道,13m以下是1道\n", 1509 | "def plot_trac(df_dir):\n", 1510 | " df_num = pd.read_excel(df_dir)\n", 1511 | " Local_X_num = df_num['Local_X'].to_list()\n", 1512 | " Local_Y_num = df_num['Local_Y'].to_list()\n", 1513 | " plt.figure(figsize=(8,3),dpi=100)\n", 1514 | " plt.plot(Local_Y_num,Local_X_num,alpha = 0.5)\n", 1515 | " plt.xlabel('Local_Y/feet')\n", 1516 | " plt.ylabel('Local_X/feet')\n", 1517 | " plt.show()" 1518 | ] 1519 | }, 1520 | { 1521 | "cell_type": "code", 1522 | "execution_count": 353, 1523 | "id": "dc03fa38", 1524 | "metadata": {}, 1525 | "outputs": [], 1526 | "source": [ 1527 | "#获取横向速度\n", 1528 | "def get_lateral_velocity(df_dir):\n", 1529 | " \n", 1530 | " df_num = pd.read_excel(df_dir)\n", 1531 | " Local_dict_num = df_num[['Local_X','Local_Y']].to_dict('records')\n", 1532 | "\n", 1533 | " angle_list_num = []\n", 1534 | " sin_angle_num = []\n", 1535 | " v_list_num = df_num['v_Vel'].to_list()\n", 1536 | " v_lateral_list = []\n", 1537 | "\n", 1538 | " for item in range(len(Local_dict_num)):\n", 1539 | " if item == 0:\n", 1540 | " actan = math.atan2(Local_dict_num[item+1]['Local_X'] - Local_dict_num[item]['Local_X'],\n", 1541 | " (Local_dict_num[item+1]['Local_Y'] - Local_dict_num[item]['Local_Y']))\n", 1542 | " angle = actan/math.pi*180\n", 1543 | " angle_list_num.append(angle)\n", 1544 | " sin_angle_num.append(math.sin(actan))\n", 1545 | " v_lateral_list.append(v_list_num[item]*sin_angle_num[item])\n", 1546 | " \n", 1547 | " elif item == (len(Local_dict_num) - 1):\n", 1548 | " actan = math.atan2(Local_dict_num[item]['Local_X'] - Local_dict_num[item-1]['Local_X'],\n", 1549 | " (Local_dict_num[item]['Local_Y'] - Local_dict_num[item-1]['Local_Y']))\n", 1550 | " angle = actan/math.pi*180\n", 1551 | " angle_list_num.append(angle)\n", 1552 | " sin_angle_num.append(math.sin(actan))\n", 1553 | " v_lateral_list.append(v_list_num[item]*sin_angle_num[item])\n", 1554 | " \n", 1555 | " else:\n", 1556 | " actan = math.atan2(Local_dict_num[item]['Local_X'] - Local_dict_num[item-1]['Local_X'],\n", 1557 | " (Local_dict_num[item]['Local_Y'] - Local_dict_num[item-1]['Local_Y']))\n", 1558 | " angle = actan/math.pi*180\n", 1559 | " angle_list_num.append(angle)\n", 1560 | " sin_angle_num.append(math.sin(actan))\n", 1561 | " v_lateral_list.append(v_list_num[item]*sin_angle_num[item])\n", 1562 | " \n", 1563 | " return v_lateral_list" 1564 | ] 1565 | }, 1566 | { 1567 | "cell_type": "code", 1568 | "execution_count": 24, 1569 | "id": "2284e388", 1570 | "metadata": {}, 1571 | "outputs": [], 1572 | "source": [ 1573 | "#给从2道换到1道用,获取片段的v_lateral\n", 1574 | "def get_cut_data21(df_dir,dir_name):\n", 1575 | " df_num = pd.read_excel(df_dir)\n", 1576 | " df1 = df_num.where(df_num['Local_X']>13).dropna(axis=0, how='any')\n", 1577 | " \n", 1578 | " last_index = df1.tail(1).index.tolist()[0]\n", 1579 | " threshold = df1.iloc[last_index]['Local_Y'] - 205\n", 1580 | " df_use1 = df1.where(df1['Local_Y'] > threshold)\n", 1581 | " df_final = df_use1.dropna(axis=0, how='any')\n", 1582 | " first_index = df_final.head(1).index.tolist()[0]\n", 1583 | "\n", 1584 | " df_final.to_excel(r'D:\\NGSIM\\preprocessed data\\cut_21\\{name}'.format(name = dir_name))\n", 1585 | " df_final_dir = r'D:\\NGSIM\\preprocessed data\\cut_21\\{name}'.format(name = dir_name)\n", 1586 | " \n", 1587 | " \n", 1588 | " return get_lateral_velocity(df_final_dir)" 1589 | ] 1590 | }, 1591 | { 1592 | "cell_type": "code", 1593 | "execution_count": 187, 1594 | "id": "0d29cc2f", 1595 | "metadata": { 1596 | "scrolled": true 1597 | }, 1598 | "outputs": [], 1599 | "source": [ 1600 | "#获取速度字典\n", 1601 | "def get_velocity_dict_21(base_dir):\n", 1602 | " files_dir_list_num,dir_num_list_num = get_files_list(base_dir)\n", 1603 | " v_lateral_dict = {}\n", 1604 | " for item in range(len(files_dir_list_num)):\n", 1605 | " v_lateral_dict[dir_num_list_num[item]] = get_cut_data21(files_dir_list_num[item],dir_num_list_num[item])\n", 1606 | " return v_lateral_dict" 1607 | ] 1608 | }, 1609 | { 1610 | "cell_type": "code", 1611 | "execution_count": 15, 1612 | "id": "ffdc8080", 1613 | "metadata": {}, 1614 | "outputs": [], 1615 | "source": [ 1616 | "#数据清洗copy截片\n", 1617 | "#v_lateral_dict_21 = get_velocity_dict('D:\\\\NGSIM\\\\preprocessed data\\\\2 to 1')" 1618 | ] 1619 | }, 1620 | { 1621 | "cell_type": "code", 1622 | "execution_count": 194, 1623 | "id": "43a10510", 1624 | "metadata": { 1625 | "scrolled": true 1626 | }, 1627 | "outputs": [], 1628 | "source": [ 1629 | "#获得变道点的字典,适用2道换1道\n", 1630 | "def get_change_point_21(v_lateral_dict_num):\n", 1631 | " change_point_dict = {}\n", 1632 | " for key, value in v_lateral_dict_num.items():\n", 1633 | " v_first_list = []\n", 1634 | " for item in range(len(value)):\n", 1635 | " if value[item] < -1.0:\n", 1636 | " v_first_list.append(item)\n", 1637 | " change_point = v_first_list[0]\n", 1638 | " change_point_dict[key] = change_point\n", 1639 | " return change_point_dict" 1640 | ] 1641 | }, 1642 | { 1643 | "cell_type": "code", 1644 | "execution_count": 102, 1645 | "id": "e177cbc1", 1646 | "metadata": { 1647 | "scrolled": true 1648 | }, 1649 | "outputs": [], 1650 | "source": [ 1651 | "#change_point_dict_21 = get_change_point(v_lateral_dict_21)" 1652 | ] 1653 | }, 1654 | { 1655 | "cell_type": "code", 1656 | "execution_count": 2, 1657 | "id": "88650dab", 1658 | "metadata": {}, 1659 | "outputs": [], 1660 | "source": [ 1661 | "#-1.0是一个可行的point,是这个点的前面一个点作为decision点\n", 1662 | "#1854,376,1109,1267,1460,1562,1612,2111,2235,2376,2610,2745,749数据需要手工处理\n", 1663 | "# change_point_dict_21['df_376.xlsx'] = 40\n", 1664 | "# change_point_dict_21['df_1854.xlsx'] = 15\n", 1665 | "# change_point_dict_21['df_1109.xlsx'] = 66\n", 1666 | "# change_point_dict_21['df_1267.xlsx'] = 37\n", 1667 | "# change_point_dict_21['df_1460.xlsx'] = 27\n", 1668 | "# change_point_dict_21['df_1562.xlsx'] = 28\n", 1669 | "# change_point_dict_21['df_1612.xlsx'] = 15\n", 1670 | "# change_point_dict_21['df_2111.xlsx'] = 51\n", 1671 | "# change_point_dict_21['df_2235.xlsx'] = 31\n", 1672 | "# change_point_dict_21['df_2376.xlsx'] = 36\n", 1673 | "# change_point_dict_21['df_2610.xlsx'] = 65\n", 1674 | "# change_point_dict_21['df_2745.xlsx'] = 39\n", 1675 | "# change_point_dict_21['df_749.xlsx'] = 31" 1676 | ] 1677 | }, 1678 | { 1679 | "cell_type": "code", 1680 | "execution_count": 54, 1681 | "id": "393362b0", 1682 | "metadata": { 1683 | "scrolled": true 1684 | }, 1685 | "outputs": [], 1686 | "source": [ 1687 | "#change_files_list_21 = list(change_point_dict_21.keys())" 1688 | ] 1689 | }, 1690 | { 1691 | "cell_type": "code", 1692 | "execution_count": 216, 1693 | "id": "2f17d31a", 1694 | "metadata": {}, 1695 | "outputs": [], 1696 | "source": [ 1697 | "def get_final_change_point_21(dir_name):\n", 1698 | " base_dir = 'D:\\\\NGSIM\\\\preprocessed data\\\\cut_21\\\\'\n", 1699 | " df_cut_num = pd.read_excel(base_dir + dir_name,index_col = 'Unnamed: 0.1')\n", 1700 | " first_index = df_cut_num.head(1).index.tolist()[0]\n", 1701 | " change_point = first_index + change_point_dict_21[dir_name]\n", 1702 | " change_point_dict_21[dir_name] = change_point" 1703 | ] 1704 | }, 1705 | { 1706 | "cell_type": "code", 1707 | "execution_count": 104, 1708 | "id": "3dc8a992", 1709 | "metadata": {}, 1710 | "outputs": [], 1711 | "source": [ 1712 | "#for item in change_files_list_21:\n", 1713 | " #get_final_change_point(item)" 1714 | ] 1715 | }, 1716 | { 1717 | "cell_type": "code", 1718 | "execution_count": 106, 1719 | "id": "1a4fde29", 1720 | "metadata": {}, 1721 | "outputs": [], 1722 | "source": [ 1723 | "#得到换道点并存储excel\n", 1724 | "#df_change_point_21 = pd.DataFrame([change_point_dict_21])\n", 1725 | "#df_change_point_21.to_excel(r'D:\\NGSIM\\preprocessed data\\change_point\\df_change_point_21.xlsx')" 1726 | ] 1727 | }, 1728 | { 1729 | "cell_type": "code", 1730 | "execution_count": 226, 1731 | "id": "f0b5be4a", 1732 | "metadata": {}, 1733 | "outputs": [ 1734 | { 1735 | "data": { 1736 | "image/png": "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\n", 1737 | "text/plain": [ 1738 | "
" 1739 | ] 1740 | }, 1741 | "metadata": { 1742 | "needs_background": "light" 1743 | }, 1744 | "output_type": "display_data" 1745 | } 1746 | ], 1747 | "source": [ 1748 | "plot_trac(r'D:\\NGSIM\\preprocessed data\\12\\df_749.xlsx')" 1749 | ] 1750 | }, 1751 | { 1752 | "cell_type": "code", 1753 | "execution_count": 17, 1754 | "id": "61ed1ba0", 1755 | "metadata": {}, 1756 | "outputs": [ 1757 | { 1758 | "data": { 1759 | "image/png": "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\n", 1760 | "text/plain": [ 1761 | "
" 1762 | ] 1763 | }, 1764 | "metadata": { 1765 | "needs_background": "light" 1766 | }, 1767 | "output_type": "display_data" 1768 | } 1769 | ], 1770 | "source": [ 1771 | "plot_trac(r'D:\\NGSIM\\preprocessed data\\cut_21\\df_749.xlsx')" 1772 | ] 1773 | } 1774 | ], 1775 | "metadata": { 1776 | "kernelspec": { 1777 | "display_name": "Python 3 (ipykernel)", 1778 | "language": "python", 1779 | "name": "python3" 1780 | }, 1781 | "language_info": { 1782 | "codemirror_mode": { 1783 | "name": "ipython", 1784 | "version": 3 1785 | }, 1786 | "file_extension": ".py", 1787 | "mimetype": "text/x-python", 1788 | "name": "python", 1789 | "nbconvert_exporter": "python", 1790 | "pygments_lexer": "ipython3", 1791 | "version": "3.9.12" 1792 | } 1793 | }, 1794 | "nbformat": 4, 1795 | "nbformat_minor": 5 1796 | } 1797 | --------------------------------------------------------------------------------