Skip to content

Commit 49442be

Browse files
Using dataframe _get_axis_number instance method
1 parent 64702fb commit 49442be

File tree

2 files changed

+30
-8
lines changed

2 files changed

+30
-8
lines changed

pandas/tests/frame/test_combine_concat.py

+28-5
Original file line numberDiff line numberDiff line change
@@ -352,8 +352,10 @@ def test_concat_axis_parameter(self):
352352
df1 = pd.DataFrame({'A': [0.1, 0.2]}, index=range(2))
353353
df2 = pd.DataFrame({'A': [0.3, 0.4]}, index=range(2))
354354

355+
# Index/row/0 DataFrame
355356
expected_index = pd.DataFrame(
356357
{'A': [0.1, 0.2, 0.3, 0.4]}, index=[0, 1, 0, 1])
358+
357359
concatted_index = pd.concat([df1, df2], axis='index')
358360
assert_frame_equal(concatted_index, expected_index)
359361

@@ -363,8 +365,10 @@ def test_concat_axis_parameter(self):
363365
concatted_0 = pd.concat([df1, df2], axis=0)
364366
assert_frame_equal(concatted_0, expected_index)
365367

368+
# Columns/1 DataFrame
366369
expected_columns = pd.DataFrame(
367370
[[0.1, 0.3], [0.2, 0.4]], index=[0, 1], columns=['A', 'A'])
371+
368372
concatted_columns = pd.concat([df1, df2], axis='columns')
369373
assert_frame_equal(concatted_columns, expected_columns)
370374

@@ -374,14 +378,33 @@ def test_concat_axis_parameter(self):
374378
series1 = pd.Series([0.1, 0.2])
375379
series2 = pd.Series([0.3, 0.4])
376380

377-
expected_row_series = pd.Series(
381+
# Index/row/0 Series
382+
expected_index_series = pd.Series(
378383
[0.1, 0.2, 0.3, 0.4], index=[0, 1, 0, 1])
384+
385+
concatted_index_series = pd.concat([series1, series2], axis='index')
386+
assert_series_equal(concatted_index_series, expected_index_series)
387+
379388
concatted_row_series = pd.concat([series1, series2], axis='rows')
380-
assert_series_equal(concatted_row_series, expected_row_series)
389+
assert_series_equal(concatted_row_series, expected_index_series)
390+
391+
concatted_0_series = pd.concat([series1, series2], axis=0)
392+
assert_series_equal(concatted_0_series, expected_index_series)
393+
394+
# Columns/1 Series
395+
expected_columns_series = pd.DataFrame(
396+
[[0.1, 0.3], [0.2, 0.4]], index=[0, 1], columns=[0, 1])
397+
398+
concatted_columns_series = pd.concat(
399+
[series1, series2], axis='columns')
400+
assert_frame_equal(concatted_columns_series, expected_columns_series)
401+
402+
concatted_1_series = pd.concat([series1, series2], axis=1)
403+
assert_frame_equal(concatted_1_series, expected_columns_series)
381404

382-
# A Series has no 'columns' axis
383-
with assertRaisesRegexp(ValueError, 'No axis named columns'):
384-
pd.concat([series1, series2], axis='columns')
405+
# Testing ValueError
406+
with assertRaisesRegexp(ValueError, 'No axis named'):
407+
pd.concat([series1, series2], axis='something')
385408

386409

387410
class TestDataFrameCombineFirst(tm.TestCase, TestData):

pandas/tools/merge.py

+2-3
Original file line numberDiff line numberDiff line change
@@ -1411,9 +1411,8 @@ def __init__(self, objs, axis=0, join='outer', join_axes=None,
14111411
sample = objs[0]
14121412
self.objs = objs
14131413

1414-
# Check for string axis parameter
1415-
if isinstance(axis, str):
1416-
axis = objs[0]._get_axis_number(axis)
1414+
# Standardize axis parameter to int
1415+
axis = DataFrame()._get_axis_number(axis)
14171416

14181417
# Need to flip BlockManager axis in the DataFrame special case
14191418
self._is_frame = isinstance(sample, DataFrame)

0 commit comments

Comments
 (0)