Commit ab224a6
committed
Add deduplicate option to DataFrame.join to drop duplicate join columns
- Added a `deduplicate` boolean parameter to `DataFrame.join` that,
when True, drops duplicate join columns from the right DataFrame after join.
- Implemented helper methods `_resolve_join_keys` and `_prepare_deduplicate`
to normalize join key arguments and handle column renaming and dropping.
- Updated join logic to rename duplicate join columns in right DataFrame,
join with renamed columns, and drop renamed duplicates post-join.
- Added tests `test_join_deduplicate` and `test_join_deduplicate_multi` covering
deduplication of single and multiple join columns.
- Extended documentation with example usage of `deduplicate` for disambiguating columns.
Also added Copilot and agent instructions files describing Python and Rust style guidelines,
pre-commit usage, testing, and code organization conventions for the DataFusion Python project.1 parent 460bae9 commit ab224a6
File tree
3 files changed
+119
-10
lines changed- docs/source/user-guide/common-operations
- python
- datafusion
- tests
3 files changed
+119
-10
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
101 | 101 | | |
102 | 102 | | |
103 | 103 | | |
104 | | - | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
678 | 678 | | |
679 | 679 | | |
680 | 680 | | |
| 681 | + | |
681 | 682 | | |
682 | 683 | | |
683 | 684 | | |
| |||
691 | 692 | | |
692 | 693 | | |
693 | 694 | | |
| 695 | + | |
| 696 | + | |
694 | 697 | | |
695 | 698 | | |
696 | 699 | | |
697 | 700 | | |
698 | | - | |
699 | | - | |
700 | | - | |
| 701 | + | |
| 702 | + | |
| 703 | + | |
| 704 | + | |
| 705 | + | |
| 706 | + | |
| 707 | + | |
| 708 | + | |
| 709 | + | |
| 710 | + | |
| 711 | + | |
| 712 | + | |
| 713 | + | |
| 714 | + | |
| 715 | + | |
| 716 | + | |
| 717 | + | |
| 718 | + | |
| 719 | + | |
| 720 | + | |
| 721 | + | |
701 | 722 | | |
702 | 723 | | |
703 | 724 | | |
704 | 725 | | |
705 | 726 | | |
706 | 727 | | |
707 | | - | |
708 | 728 | | |
709 | 729 | | |
710 | 730 | | |
| |||
730 | 750 | | |
731 | 751 | | |
732 | 752 | | |
733 | | - | |
734 | | - | |
735 | | - | |
736 | | - | |
737 | 753 | | |
738 | | - | |
| 754 | + | |
| 755 | + | |
| 756 | + | |
| 757 | + | |
| 758 | + | |
| 759 | + | |
| 760 | + | |
| 761 | + | |
| 762 | + | |
| 763 | + | |
| 764 | + | |
| 765 | + | |
| 766 | + | |
| 767 | + | |
| 768 | + | |
| 769 | + | |
| 770 | + | |
| 771 | + | |
739 | 772 | | |
740 | 773 | | |
741 | 774 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
519 | 519 | | |
520 | 520 | | |
521 | 521 | | |
| 522 | + | |
| 523 | + | |
| 524 | + | |
| 525 | + | |
| 526 | + | |
| 527 | + | |
| 528 | + | |
| 529 | + | |
| 530 | + | |
| 531 | + | |
| 532 | + | |
| 533 | + | |
| 534 | + | |
| 535 | + | |
| 536 | + | |
| 537 | + | |
| 538 | + | |
| 539 | + | |
| 540 | + | |
| 541 | + | |
| 542 | + | |
| 543 | + | |
| 544 | + | |
| 545 | + | |
| 546 | + | |
| 547 | + | |
| 548 | + | |
| 549 | + | |
| 550 | + | |
| 551 | + | |
| 552 | + | |
| 553 | + | |
| 554 | + | |
| 555 | + | |
| 556 | + | |
| 557 | + | |
| 558 | + | |
| 559 | + | |
| 560 | + | |
| 561 | + | |
| 562 | + | |
| 563 | + | |
| 564 | + | |
| 565 | + | |
| 566 | + | |
| 567 | + | |
522 | 568 | | |
523 | 569 | | |
524 | 570 | | |
| |||
0 commit comments