Skip to content

Commit 2a0c4ea

Browse files
committed
Fix .describe_categoricals and some tests
Signed-off-by: Vasily Litvinov <[email protected]>
1 parent fb496f1 commit 2a0c4ea

File tree

2 files changed

+9
-14
lines changed

2 files changed

+9
-14
lines changed

pandas/core/exchange/column.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ def describe_categorical(self):
137137
return {
138138
"is_ordered": self._col.cat.ordered,
139139
"is_dictionary": True,
140-
"mapping": dict(zip(self._col.cat.codes, self._col.cat.categories)),
140+
"mapping": dict(enumerate(self._col.cat.categories)),
141141
}
142142

143143
@property

pandas/tests/exchange/test_impl.py

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -58,10 +58,10 @@ def test_categorical_dtype(data):
5858
assert col.describe_categorical == {
5959
"is_ordered": data[1],
6060
"is_dictionary": True,
61-
"mapping": {4: "s", 2: "d", 3: "e", 1: "t"},
61+
"mapping": {0: "a", 1: "d", 2: "e", 3: "s", 4: "t"},
6262
}
6363

64-
assert assert_frame_equal(df, from_dataframe(df.__dataframe__()))
64+
assert_frame_equal(df, from_dataframe(df.__dataframe__()))
6565

6666

6767
@pytest.mark.parametrize("data", [int_data, float_data, bool_data])
@@ -76,13 +76,12 @@ def test_dataframe(data):
7676

7777
assert list(df2.column_names()) == list(data.keys())
7878

79-
assert assert_frame_equal(
80-
from_dataframe(df2.select_columns((0, 2))),
81-
from_dataframe(df2.select_columns_by_name(("col33", "col35"))),
82-
)
83-
assert assert_frame_equal(
84-
from_dataframe(df2.select_columns((0, 2))),
85-
from_dataframe(df2.select_columns_by_name(("col33", "col35"))),
79+
indices = (0, 2)
80+
names = tuple(list(data.keys())[idx] for idx in indices)
81+
82+
assert_frame_equal(
83+
from_dataframe(df2.select_columns(indices)),
84+
from_dataframe(df2.select_columns_by_name(names)),
8685
)
8786

8887

@@ -97,10 +96,6 @@ def test_missing_from_masked():
9796

9897
df2 = df.__dataframe__()
9998

100-
# for col_name in df.columns:
101-
# assert convert_column_to_array(df2.get_column_by_name(col_name) == df[col_name].tolist()
102-
# assert df[col_name].dtype == convert_column_to_array(df2.get_column_by_name(col_name)).dtype
103-
10499
rng = np.random.RandomState(42)
105100
dict_null = {col: rng.randint(low=0, high=len(df)) for col in df.columns}
106101
for col, num_nulls in dict_null.items():

0 commit comments

Comments
 (0)