Почему работник сельдерея дает & ldquo; OSError: Socket closed & rdquo;

Один из методов заключается в том, чтобы сохранить результат внутренней формы слияния как dfs, тогда мы можем просто выбрать строки, когда значения одного столбца не входят в это общее:

In [119]:

common = df1.merge(df2,on=['col1','col2'])
print(common)
df1[(~df1.col1.isin(common.col1))&(~df1.col2.isin(common.col2))]
   col1  col2
0     1    10
1     2    11
2     3    12
Out[119]:
   col1  col2
3     4    13
4     5    14

EDIT

Другой метод, который вы нашли, - это использовать isin, который приведет к появлению NaN строк, которые вы можете удалить:

In [138]:

df1[~df1.isin(df2)].dropna()
Out[138]:
   col1  col2
3     4    13
4     5    14

Однако, если df2 не запускает строки таким же образом то это не сработает:

df2 = pd.DataFrame(data = {'col1' : [2, 3,4], 'col2' : [11, 12,13]})

будет генерировать весь df:

In [140]:

df1[~df1.isin(df2)].dropna()
Out[140]:
   col1  col2
0     1    10
1     2    11
2     3    12
3     4    13
4     5    14
2
задан Ai Da 13 July 2018 в 17:55
поделиться

1 ответ

Я не пользователь Windows, но я попытаюсь дать вам несколько советов.

(1) - проверьте, соответствует ли ваша конфигурация rabbitmq вашей строке подключения (в частности, в linux я могу настроить только rabbitmq слушать на конкретном интерфейсе, чтобы он не принимал соединения, скажем, через интерфейс обратной связи); Вариант конфигурации, который я бы проверил, - NODE_IP_ADDRESS

(2) - если вы на 100% уверены, что ваш rabbitmq работает, я бы проверил, соответствует ли NODENAME вашей фактической конфигурации системы (т. Е. Проверьте хост правильность имени)

(3) - самая очевидная, но по-прежнему стоит проверить, является ли ваш пользователь rabbitmq правильным (я вижу, что у вас есть guest пользователь, вы сами создали этого пользователя? к вашему конкретному vhost?)

(4) - и это приводит к еще одному очевидному вопросу, если ваша строка подключения верна. Моя строка подключения выглядит примерно так: BROKER_URL = 'amqp://my_user:very_secret_password@localhost:5672/my_vhost_name (и в этом случае из вашего журнала кажется, что вы не настроили строку подключения для использования vhost)

1
ответ дан Greg0ry 17 August 2018 в 12:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: