我什至不理解(即使在阅读了几篇有关ssh tunelling的文章之后),CLI ssh命令在此脚本中的什么参数也是如此。基本上,我必须连接到某些服务器(我称其为“ ssh_tunnel_host:22”),而不是使用此隧道连接到db_host。
with SSHTunnelForwarder(
('ssh_tunnel_host', 22),
ssh_username="ssh_username",
ssh_pkey="/somepath/id_rsa",
local_bind_address=('0.0.0.0', 1234),
remote_bind_address=('127.0.0.1', 3306)
) as tunnel:
client = paramiko.SSHClient()
client.load_system_host_keys()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect('127.0.0.1', 1234)
db_connection = pymysql.connect(host=db_host, port=3306, db='mysql', user='user',
password='password', charset='utf8mb4')
Run Code Online (Sandbox Code Playgroud)
有人可以向我解释:
(我确实尝试阅读文档,但仍然很混乱)
我有一个数据框,用于将机器学习算法与分类和数值特征相匹配。因此,我分割了这个 df 并使用 one-hot 编码转换了分类特征,现在我有了 numpy 矩阵,我必须将其连接回带有数字特征的 df ,因此数字数据帧的第一行将获得第一个矩阵行作为新特征。
给出谷歌搜索“join dataframes”命令的文档和结果
pd.concat([X_numerical, pd.DataFrame(numpy_matrix)], axis=1)
Run Code Online (Sandbox Code Playgroud)
但我得到了这个 - 就像“axis”参数被忽略(我清理了 np.nan 中的所有原始数据):

我究竟做错了什么?我期望得到没有这些 NaN 的结果数据帧,其中 df 行与矩阵行一一连接