Я предлагаю сначала создать словарь со всеми поисковыми файлами, используя DataFrame.set_index
и Series.to_dict
:
d = {'ID_1' : df2.set_index('ID_1')['Monthly_MB'].to_dict(),
'ID_2' : df3.set_index('ID_2')['platform'].to_dict(),
'ID_3' : df4.set_index('ID_3')['Device'].to_dict()}
, затем цикл по всем ключам словарей использовать понимание списка - сначала разбить значения на ;
, если строки, отобразить по словарю и join
обратно на ;
:
for c in d.keys():
f = lambda x: ';'.join(str(d[c].get(y, '')) for y in x.split(';'))
if isinstance(x, str)
else x
df1[c] = df1[c].apply(f)
print (df1)
Name Address ID_1 ID_2 ID_3
0 Ruth D. Batie 4962 Hill Street 1557 NaN BOOST2
1 Kelley C. Rice 1074 Tipple Road NaN android NaN
2 Gary P. Kirby 1520 Robinson Court 24 android;ios BOOST2
How will going through two connections make your connection faster?
Anyhow, you should be able to do:
git clone git+ssh://localhost:1234/repos local_repos
Проверьте командные файлы для SSH. Вы можете автоматически выполнить команду при входе через SSH. Это указано в файле author_keys. Итак, на компьютере A у вас будет командный файл, который автоматически подключается по SSH к компьютеру B. Затем, когда вы подключитесь к компьютеру A, он автоматически сделает это с компьютером B. К вашему компьютеру он напрямую подключен к компьютеру B. Вы даже можете использовать сжатый туннель.
Also, you can try to put port number in your ~/.ssh/config
:
Host ComputerA
HostName localhost
Port 1234
And then use ComputerA in git clone command:
git clone git+ssh://ComputerA/repos local_repos
First clone to ComputerA, then clone from ComputerA to ComputerB. You'll have to ssh to ComputerA in order to pull in new stuff, though.