Python Pandas - это функция - PullRequest
0 голосов
/ 28 июня 2018

У меня есть две серии панд

s1=pd.Series(np.round(np.linspace(-1.5, 4, 55001), 4))
s2=pd.Series(np.round(np.random.uniform(-1.5, 4, 500), 4))

Я хочу выяснить, по каким показателям в s1, s2 происходит. Я использую функцию isin. Однако, когда я проверяю длину, я получаю следующие результаты

>>>d=s1.isin(s2)
>>>len(np.where(d)[0])
   499
>>>d=s2.isin(s1)
>>>len(np.where(d)[0])
   500

Технически ответы на оба результата должны быть одинаковыми, но я получаю разные длины. Может кто-нибудь, пожалуйста, дайте знать об этой проблеме.

1 Ответ

0 голосов
/ 28 июня 2018

Сначала мы укажем случайное семя

np.random.seed(0)

Ваша проблема связана с дублированными значениями в s2, для проверки просто сделайте:

print(s2.drop_duplicates().shape)
print(s2.shape)

Функция isin похожа на внутреннее соединение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...