Skip to content

Commit

Permalink
fixed column ordering
Browse files Browse the repository at this point in the history
  • Loading branch information
dougbrn committed Jul 9, 2024
1 parent 307c904 commit 103b542
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 1 deletion.
3 changes: 2 additions & 1 deletion src/nested_pandas/utils/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,9 @@ def count_nested(df, nested, by=None, join=True) -> NestedFrame:
)
else:
# this may be able to be sped up using tolists() as well
counts = df[nested].apply(lambda x: x[by].value_counts())
counts = df[nested].apply(lambda x: x[by].value_counts(sort=False))
counts = counts.rename(columns={colname: f"n_{nested}_{colname}" for colname in counts.columns})
counts = counts.reindex(sorted(counts.columns), axis=1)
if join:
return df.join(counts)
# else just return the counts NestedFrame
Expand Down
6 changes: 6 additions & 0 deletions tests/nested_pandas/utils/test_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,15 @@ def test_count_nested(join):

# Test count by
label_counts = count_nested(base, "nested", by="label", join=join)

assert all(label_counts["n_nested_a"].values == [2, 2, 1])
assert all(label_counts["n_nested_b"].values == [1, 1, 2])

# Make sure the ordering is alphabetical
# https://github.com/lincc-frameworks/nested-pandas/issues/109
assert label_counts.columns[-1] == "n_nested_b"
assert label_counts.columns[-2] == "n_nested_a"

# Test join behavior
if join:
assert total_counts.columns.tolist() == base.columns.tolist() + ["n_nested"]
Expand Down

0 comments on commit 103b542

Please sign in to comment.