Skip to content

Commit 24384b5

Browse files
Potential concat fix (#45)
* Potential concat fix * Fix * Moved tests, comment
1 parent f5c8d61 commit 24384b5

File tree

5 files changed

+34
-26
lines changed

5 files changed

+34
-26
lines changed

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ def list_packages(source_path: str = src_path) -> None:
2121
setup(
2222
name="pandas-stubs",
2323
package_dir={"": src_path},
24-
version="1.1.0.10",
24+
version="1.1.0.11",
2525
description="Type annotations for Pandas",
2626
long_description=(open("README.md").read()
2727
if os.path.exists("README.md") else ""),

tests/snippets/test_frame.py

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -361,16 +361,6 @@ def test_types_melt() -> None:
361361
pd.melt(df, id_vars=['col1'], value_vars=['col2'], var_name="someVariable", value_name="someValue")
362362

363363

364-
def test_types_concat() -> None:
365-
df = pd.DataFrame(data={'col1': [1, 2], 'col2': [3, 4]})
366-
df2 = pd.DataFrame(data={'col1': [10, 20], 'col2': [30, 40]})
367-
368-
pd.concat([df, df2])
369-
pd.concat([df, df2], axis=1)
370-
pd.concat([df, df2], keys=['first', 'second'], sort=True)
371-
pd.concat([df, df2], keys=['first', 'second'], names=["source", "row"])
372-
373-
374364
def test_types_pivot() -> None:
375365
df = pd.DataFrame(data={'col1': ['first', 'second', 'third', 'fourth'],
376366
'col2': [50, 70, 56, 111], 'col3': ['A', 'B', 'B', 'A'], 'col4': [100, 102, 500, 600]})

tests/snippets/test_pandas.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
# flake8: noqa: F841
2+
from typing import Union
3+
14
import pandas as pd
25

36

@@ -10,3 +13,24 @@ def test_types_to_datetime() -> None:
1013
pd.to_datetime(df, unit="ns", dayfirst=True, utc=None, format="%M:%D", exact=False)
1114
pd.to_datetime([1, 2], unit="D", origin=pd.Timestamp("01/01/2000"))
1215
pd.to_datetime([1, 2], unit="D", origin=3)
16+
17+
18+
def test_types_concat() -> None:
19+
s = pd.Series([0, 1, -10])
20+
s2 = pd.Series([7, -5, 10])
21+
22+
pd.concat([s, s2])
23+
pd.concat([s, s2], axis=1)
24+
pd.concat([s, s2], keys=['first', 'second'], sort=True)
25+
pd.concat([s, s2], keys=['first', 'second'], names=["source", "row"])
26+
27+
df = pd.DataFrame(data={'col1': [1, 2], 'col2': [3, 4]})
28+
df2 = pd.DataFrame(data={'col1': [10, 20], 'col2': [30, 40]})
29+
30+
pd.concat([df, df2])
31+
pd.concat([df, df2], axis=1)
32+
pd.concat([df, df2], keys=['first', 'second'], sort=True)
33+
pd.concat([df, df2], keys=['first', 'second'], names=["source", "row"])
34+
35+
result: pd.DataFrame = pd.concat({"a": pd.DataFrame([1, 2, 3]), "b": pd.DataFrame([4, 5, 6])}, axis=1)
36+
result2: Union[pd.DataFrame, pd.Series] = pd.concat({"a": pd.Series([1, 2, 3]), "b": pd.Series([4, 5, 6])}, axis=1)

tests/snippets/test_series.py

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -313,16 +313,6 @@ def test_types_element_wise_arithmetic() -> None:
313313
s.mod(s2, fill_value=0)
314314

315315

316-
def test_types_concat() -> None:
317-
s = pd.Series([0, 1, -10])
318-
s2 = pd.Series([7, -5, 10])
319-
320-
pd.concat([s, s2])
321-
pd.concat([s, s2], axis=1)
322-
pd.concat([s, s2], keys=['first', 'second'], sort=True)
323-
pd.concat([s, s2], keys=['first', 'second'], names=["source", "row"])
324-
325-
326316
def test_types_groupby() -> None:
327317
s = pd.Series([4, 2, 1, 8], index=['a', 'b', 'a', 'b'])
328318
s.groupby(['a', 'b', 'a', 'b'])

third_party/3/pandas/core/reshape/concat.pyi

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,20 @@
11
from pandas import DataFrame as DataFrame, Index as Index, MultiIndex as MultiIndex, Series as Series
2-
from pandas._typing import Axis, FrameOrSeries
2+
from pandas._typing import Axis, FrameOrSeries, Label
33
from pandas.core.arrays.categorical import factorize_from_iterable as factorize_from_iterable, factorize_from_iterables as factorize_from_iterables
44
from pandas.core.generic import NDFrame as NDFrame
55
from pandas.core.indexes.api import all_indexes_same as all_indexes_same, ensure_index as ensure_index, get_consensus_names as get_consensus_names, get_objs_combined_axis as get_objs_combined_axis
66
from pandas.core.internals import concatenate_block_managers as concatenate_block_managers
7-
from typing import Any, Hashable, Iterable, Mapping, Optional, Union, overload
8-
7+
from typing import Any, Iterable, Mapping, overload
98

9+
# For some reason mypy won't read this declaration correctly if we use 2 overloads with union
10+
@overload
11+
def concat(objs: Iterable[DataFrame], axis: Axis = ..., join: str=..., ignore_index: bool=..., keys: Any = ..., levels: Any = ..., names: Any = ..., verify_integrity: bool=..., sort: bool=..., copy: bool=...) -> DataFrame: ...
12+
@overload
13+
def concat(objs: Mapping[Label, DataFrame], axis: Axis = ..., join: str=..., ignore_index: bool=..., keys: Any = ..., levels: Any = ..., names: Any = ..., verify_integrity: bool=..., sort: bool=..., copy: bool=...) -> DataFrame: ...
1014
@overload
11-
def concat(objs: Union[Iterable[DataFrame], Mapping[Optional[Hashable], DataFrame]], axis: Axis = ..., join: str=..., ignore_index: bool=..., keys: Any = ..., levels: Any = ..., names: Any = ..., verify_integrity: bool=..., sort: bool=..., copy: bool=...) -> DataFrame: ...
15+
def concat(objs: Iterable[Series], axis: Axis = ..., join: str=..., ignore_index: bool=..., keys: Any = ..., levels: Any = ..., names: Any = ..., verify_integrity: bool=..., sort: bool=..., copy: bool=...) -> FrameOrSeries: ...
1216
@overload
13-
def concat(objs: Union[Iterable[Series], Mapping[Optional[Hashable], Series]], axis: Axis = ..., join: str=..., ignore_index: bool=..., keys: Any = ..., levels: Any = ..., names: Any = ..., verify_integrity: bool=..., sort: bool=..., copy: bool=...) -> FrameOrSeries: ...
17+
def concat(objs: Mapping[Label, Series], axis: Axis = ..., join: str=..., ignore_index: bool=..., keys: Any = ..., levels: Any = ..., names: Any = ..., verify_integrity: bool=..., sort: bool=..., copy: bool=...) -> FrameOrSeries: ...
1418

1519
class _Concatenator:
1620
intersect: bool = ...

0 commit comments

Comments
 (0)