Skip to main content

Merges multiple DataFrames, ignores Exceptions if desired

$pip install a-pandas-ex-multimerge





# Ignores all Exceptions, but prints them, this behavior can be changed by passing disable=True



from a_pandas_ex_multimerge import pd_add_multimerge

import pandas as pd



pd_add_multimerge()

df1 = pd.DataFrame(

    {

        "A": ["A0", "A1", "A2", "A3"],

        "B": ["B0", "B1", "B2", "B3"],

        "C": ["C0", "C1", "C2", "C3"],

        "D": ["D0", "D1", "D2", "D3"],

    },

    index=[0, 1, 2, 3],

)



df2 = pd.DataFrame(

    {

        "A": ["A4", "A5", "A6", "A7"],

        "B": ["B4", "B5", "B6", "B7"],

        "C": ["C4", "C5", "C6", "C7"],

        "D": ["D4", "D5", "D6", "D7"],

    },

    index=[4, 5, 6, 7],

)



df3 = pd.DataFrame(

    {

        "A": ["A8", "A9", "A10", "A11"],

        "B": ["B8", "B9", "B10", "B11"],

        "C": ["C8", "C9", "C10", "C11"],

        "D": ["D8", "D9", "D10", "D11"],

    },

    index=[8, 9, 10, 11],

)

t1 = df1.ds_multimerge(

    dataframes=[df2, df3],

    on_index=False,

    columns_to_merge=None,

    print_exception=True,

    how="outer",

    disable=False,

)

t2 = df2.ds_multimerge(

    dataframes=[df2, df3],

    on_index=True,

    columns_to_merge=None,

    print_exception=False,

    how="outer",

    disable=False,

)



t3 = df3.ds_multimerge(

    dataframes=[df1, df2, ""],

    on_index=False,

    columns_to_merge=None,  # will merge on all common columns

    print_exception=True,

    how="outer",

    disable=False,

)

t4 = df1.ds_multimerge(

    dataframes=[df2, df3, 1],

    on_index=True,

    columns_to_merge=None,

    print_exception=False,

    how="outer",

    disable=False,

)



t5 = df1.ds_multimerge(

    dataframes=[

        df2,

        df3,

        1,

    ],  # won't raise an Exception. The string will be ignored

    on_index=False,

    columns_to_merge=["A", "B"],

    how="outer",

    print_exception=False,

    disable=False,

)

t6 = df2.ds_multimerge(

    dataframes=[

        df1,

        df3,

        1,

    ],  # won't raise an Exception. The number will be ignored

    on_index=False,

    columns_to_merge=["C", "D"],

    how="outer",

    print_exception=True,

    disable=False,

)

t7 = df2["A"].ds_multimerge(

    dataframes=[

        df1,

        df3,

        1,

    ],  # won't raise an Exception. The number will be ignored

    on_index=False,

    columns_to_merge=None,

    how="outer",

    print_exception=True,

)



 Ignores all Exceptions, but prints them, this behavior can be changed by passing disable=True

descriptor 'union' for 'set' objects doesn't apply to a 'function' object

descriptor 'union' for 'set' objects doesn't apply to a 'function' object

descriptor 'union' for 'set' objects doesn't apply to a 'function' object

descriptor 'union' for 'set' objects doesn't apply to a 'function' object

descriptor 'union' for 'set' objects doesn't apply to a 'function' object

Can only merge Series or DataFrame objects, a <class 'str'> was passed

Can only merge Series or DataFrame objects, a <class 'int'> was passed

descriptor 'union' for 'set' objects doesn't apply to a 'function' object

descriptor 'union' for 'set' objects doesn't apply to a 'function' object

descriptor 'union' for 'set' objects doesn't apply to a 'function' object

Can only merge Series or DataFrame objects, a <class 'int'> was passed

t7

Out[4]:

      A  B_x  C_x  D_x  B_y  C_y  D_y

0    A4  NaN  NaN  NaN  NaN  NaN  NaN

1    A5  NaN  NaN  NaN  NaN  NaN  NaN

2    A6  NaN  NaN  NaN  NaN  NaN  NaN

3    A7  NaN  NaN  NaN  NaN  NaN  NaN

4    A0   B0   C0   D0  NaN  NaN  NaN

5    A1   B1   C1   D1  NaN  NaN  NaN

6    A2   B2   C2   D2  NaN  NaN  NaN

7    A3   B3   C3   D3  NaN  NaN  NaN

8    A8  NaN  NaN  NaN   B8   C8   D8

9    A9  NaN  NaN  NaN   B9   C9   D9

10  A10  NaN  NaN  NaN  B10  C10  D10

11  A11  NaN  NaN  NaN  B11  C11  D11

t1

Out[5]:

      A    B    C    D

0    A0   B0   C0   D0

1    A1   B1   C1   D1

2    A2   B2   C2   D2

3    A3   B3   C3   D3

4    A4   B4   C4   D4

5    A5   B5   C5   D5

6    A6   B6   C6   D6

7    A7   B7   C7   D7

8    A8   B8   C8   D8

9    A9   B9   C9   D9

10  A10  B10  C10  D10

11  A11  B11  C11  D11

t2

Out[6]:

    A_x  B_x  C_x  D_x  A_y  B_y  C_y  D_y    A    B    C    D

4    A4   B4   C4   D4   A4   B4   C4   D4  NaN  NaN  NaN  NaN

5    A5   B5   C5   D5   A5   B5   C5   D5  NaN  NaN  NaN  NaN

6    A6   B6   C6   D6   A6   B6   C6   D6  NaN  NaN  NaN  NaN

7    A7   B7   C7   D7   A7   B7   C7   D7  NaN  NaN  NaN  NaN

8   NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN   A8   B8   C8   D8

9   NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN   A9   B9   C9   D9

10  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN  A10  B10  C10  D10

11  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN  A11  B11  C11  D11

t3

Out[7]:

      A    B    C    D

0    A8   B8   C8   D8

1    A9   B9   C9   D9

2   A10  B10  C10  D10

3   A11  B11  C11  D11

4    A0   B0   C0   D0

5    A1   B1   C1   D1

6    A2   B2   C2   D2

7    A3   B3   C3   D3

8    A4   B4   C4   D4

9    A5   B5   C5   D5

10   A6   B6   C6   D6

11   A7   B7   C7   D7

t4

Out[8]:

    A_x  B_x  C_x  D_x  A_y  B_y  C_y  D_y    A    B    C    D

0    A0   B0   C0   D0  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN

1    A1   B1   C1   D1  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN

2    A2   B2   C2   D2  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN

3    A3   B3   C3   D3  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN

4   NaN  NaN  NaN  NaN   A4   B4   C4   D4  NaN  NaN  NaN  NaN

5   NaN  NaN  NaN  NaN   A5   B5   C5   D5  NaN  NaN  NaN  NaN

6   NaN  NaN  NaN  NaN   A6   B6   C6   D6  NaN  NaN  NaN  NaN

7   NaN  NaN  NaN  NaN   A7   B7   C7   D7  NaN  NaN  NaN  NaN

8   NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN   A8   B8   C8   D8

9   NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN   A9   B9   C9   D9

10  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN  A10  B10  C10  D10

11  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN  A11  B11  C11  D11

t5

Out[9]:

      A    B  C_x  D_x  C_y  D_y    C    D

0    A0   B0   C0   D0  NaN  NaN  NaN  NaN

1    A1   B1   C1   D1  NaN  NaN  NaN  NaN

2    A2   B2   C2   D2  NaN  NaN  NaN  NaN

3    A3   B3   C3   D3  NaN  NaN  NaN  NaN

4    A4   B4  NaN  NaN   C4   D4  NaN  NaN

5    A5   B5  NaN  NaN   C5   D5  NaN  NaN

6    A6   B6  NaN  NaN   C6   D6  NaN  NaN

7    A7   B7  NaN  NaN   C7   D7  NaN  NaN

8    A8   B8  NaN  NaN  NaN  NaN   C8   D8

9    A9   B9  NaN  NaN  NaN  NaN   C9   D9

10  A10  B10  NaN  NaN  NaN  NaN  C10  D10

11  A11  B11  NaN  NaN  NaN  NaN  C11  D11

t6

Out[10]:

    A_x  B_x    C    D  A_y  B_y    A    B

0    A4   B4   C4   D4  NaN  NaN  NaN  NaN

1    A5   B5   C5   D5  NaN  NaN  NaN  NaN

2    A6   B6   C6   D6  NaN  NaN  NaN  NaN

3    A7   B7   C7   D7  NaN  NaN  NaN  NaN

4   NaN  NaN   C0   D0   A0   B0  NaN  NaN

5   NaN  NaN   C1   D1   A1   B1  NaN  NaN

6   NaN  NaN   C2   D2   A2   B2  NaN  NaN

7   NaN  NaN   C3   D3   A3   B3  NaN  NaN

8   NaN  NaN   C8   D8  NaN  NaN   A8   B8

9   NaN  NaN   C9   D9  NaN  NaN   A9   B9

10  NaN  NaN  C10  D10  NaN  NaN  A10  B10

11  NaN  NaN  C11  D11  NaN  NaN  A11  B11

t7

Out[11]:

      A  B_x  C_x  D_x  B_y  C_y  D_y

0    A4  NaN  NaN  NaN  NaN  NaN  NaN

1    A5  NaN  NaN  NaN  NaN  NaN  NaN

2    A6  NaN  NaN  NaN  NaN  NaN  NaN

3    A7  NaN  NaN  NaN  NaN  NaN  NaN

4    A0   B0   C0   D0  NaN  NaN  NaN

5    A1   B1   C1   D1  NaN  NaN  NaN

6    A2   B2   C2   D2  NaN  NaN  NaN

7    A3   B3   C3   D3  NaN  NaN  NaN

8    A8  NaN  NaN  NaN   B8   C8   D8

9    A9  NaN  NaN  NaN   B9   C9   D9

10  A10  NaN  NaN  NaN  B10  C10  D10

11  A11  NaN  NaN  NaN  B11  C11  D11

Metadata

Release files for a-pandas-ex-multimerge 0.10

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for a-pandas-ex-multimerge 0.10
File Size Uploaded Provenance Actions
a_pandas_ex_multimerge-0.10.tar.gz 7.3 kB Without provenance Details for a_pandas_ex_multimerge-0.10.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for a-pandas-ex-multimerge 0.10
File Interpreter ABI Platform Actions
a_pandas_ex_multimerge-0.10-py3-none-any.whl Python 3 none any Details for a_pandas_ex_multimerge-0.10-py3-none-any.whl

Total release size: 16.0 kB

Release files / a_pandas_ex_multimerge-0.10.tar.gz

Download URL a_pandas_ex_multimerge-0.10.tar.gz
Size 7.3 kB
Tags Source
SHA-256 checksum
How to use checksums
8f1e0e41fd855eecab5d1b6c16bed5d8632c1afe367c5ea332d659491762e5ff
BLAKE2b-256 checksum
How to use checksums
dd9191a588e5dfdb335d406d60b64261aa79c6561b36c3acc6da4cb43e458131
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / a_pandas_ex_multimerge-0.10-py3-none-any.whl

Download URL a_pandas_ex_multimerge-0.10-py3-none-any.whl
Size 8.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
702ad09e099a81e27fd59206591c50251baf56a758a489adb6b784551dec549e
BLAKE2b-256 checksum
How to use checksums
0f2a8cb9a6ba64a96abb5d3d74bb9669086bb3db5fec692b2ac98eabce81c1eb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Security for a-pandas-ex-multimerge 0.10

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.10 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page