54 lines
1.5 KiB
Python
54 lines
1.5 KiB
Python
|
import numpy as np
|
||
|
|
||
|
from pandas import (
|
||
|
Index,
|
||
|
Timedelta,
|
||
|
timedelta_range,
|
||
|
)
|
||
|
import pandas._testing as tm
|
||
|
|
||
|
|
||
|
class TestJoin:
|
||
|
def test_append_join_nondatetimeindex(self):
|
||
|
rng = timedelta_range("1 days", periods=10)
|
||
|
idx = Index(["a", "b", "c", "d"])
|
||
|
|
||
|
result = rng.append(idx)
|
||
|
assert isinstance(result[0], Timedelta)
|
||
|
|
||
|
# it works
|
||
|
rng.join(idx, how="outer")
|
||
|
|
||
|
def test_join_self(self, join_type):
|
||
|
index = timedelta_range("1 day", periods=10)
|
||
|
joined = index.join(index, how=join_type)
|
||
|
tm.assert_index_equal(index, joined)
|
||
|
|
||
|
def test_does_not_convert_mixed_integer(self):
|
||
|
df = tm.makeCustomDataframe(
|
||
|
10,
|
||
|
10,
|
||
|
data_gen_f=lambda *args, **kwargs: np.random.randn(),
|
||
|
r_idx_type="i",
|
||
|
c_idx_type="td",
|
||
|
)
|
||
|
str(df)
|
||
|
|
||
|
cols = df.columns.join(df.index, how="outer")
|
||
|
joined = cols.join(df.columns)
|
||
|
assert cols.dtype == np.dtype("O")
|
||
|
assert cols.dtype == joined.dtype
|
||
|
tm.assert_index_equal(cols, joined)
|
||
|
|
||
|
def test_join_preserves_freq(self):
|
||
|
# GH#32157
|
||
|
tdi = timedelta_range("1 day", periods=10)
|
||
|
result = tdi[:5].join(tdi[5:], how="outer")
|
||
|
assert result.freq == tdi.freq
|
||
|
tm.assert_index_equal(result, tdi)
|
||
|
|
||
|
result = tdi[:5].join(tdi[6:], how="outer")
|
||
|
assert result.freq is None
|
||
|
expected = tdi.delete(5)
|
||
|
tm.assert_index_equal(result, expected)
|