Skip to content

Commit 41025d8

Browse files
committed
Modify ignore_empty output
1 parent ecc2122 commit 41025d8

File tree

2 files changed

+14
-11
lines changed

2 files changed

+14
-11
lines changed

janitor/functions/concatenate_columns.py

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -25,19 +25,19 @@ def concatenate_columns(
2525
2626
>>> import pandas as pd
2727
>>> import janitor
28-
>>> df = pd.DataFrame({"a": [1, 3, 5], "b": list("xyz")})
28+
>>> df = pd.DataFrame({"a": [1, pd.NA, 5], "b": list("xyz")})
2929
>>> df
30-
a b
31-
0 1 x
32-
1 3 y
33-
2 5 z
30+
a b
31+
0 1 x
32+
1 <NA> y
33+
2 5 z
3434
>>> df.concatenate_columns(
3535
... column_names=["a", "b"], new_column_name="m",
3636
... )
37-
a b m
38-
0 1 x 1-x
39-
1 3 y 3-y
40-
2 5 z 5-z
37+
a b m
38+
0 <NA> x x
39+
1 3 y 3-y
40+
2 5 z 5-z
4141
4242
:param df: A pandas DataFrame.
4343
:param column_names: A list of columns to concatenate together.
@@ -52,7 +52,10 @@ def concatenate_columns(
5252
raise JanitorError("At least two columns must be specified")
5353

5454
df[new_column_name] = (
55-
df[column_names].astype(str).fillna("").agg(sep.join, axis=1)
55+
df[column_names]
56+
.astype(str)
57+
.replace(["NaT", "nan", "<NA>"], "")
58+
.agg(sep.join, axis=1)
5659
)
5760

5861
if ignore_empty:

tests/functions/test_concatenate_columns.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ def test_concatenate_columns_null_values(missingdata_df):
2828
new_column_name="index",
2929
ignore_empty=True,
3030
)
31-
expected_values = ["1.0-1", "2.0-2", "nan-3"] * 3
31+
expected_values = ["1.0-1", "2.0-2", "3"] * 3
3232
assert expected_values == df["index"].tolist()
3333

3434

0 commit comments

Comments
 (0)