我有一个运行机器学习算法的 Python 后端。我想对 Excel 插件 (C#) 和网站使用相同的后端。我希望两个接口都将我的训练数据(数组中的数千行数字)发送到同一个 Python 应用程序,并以另一个数组的形式检索结果(最多数千行)。
该网站将从 SQL 数据库中获取数据并将该数据发送到 Python,而 Excel 插件将获取当前工作表中的数据并将该数据发送到 Python。在继续处理数据之前,我需要能够在 Python 中创建 numpy 数组。请注意,该网站将在 Python 应用程序所在的同一台机器上运行。我还没有决定用什么来编写网站代码,但我倾向于使用 Node.js。
我做了一些研究,发现了一些选择:
1- Named pipes
2- Sockets
3- RPC server such as gRPC or XML-RPC.
4- Writing the data to a file and reading it back in Python
5- Web Service
Run Code Online (Sandbox Code Playgroud)
注意:我需要 Python“服务器”是有状态的,并在调用之间保持会话运行。所以我需要有一种守护进程在运行,等待调用。
您会推荐哪一种?为什么?我需要灵活地处理多个参数以及大量数字。使用 IronPython 不是一种选择,因为我在 Python 上运行 Keras,它显然不支持 IronPython。
我正在编写一个 Java 客户端应用程序,它需要对 SOAP 消息(包含 2 个部分)进行签名,并在获取响应之前将其发送到远程服务器。我设法在 SoapUI 中成功调用(请参阅下面的请求和屏幕截图)。
我已准备好大部分代码,但我不断收到来自服务器的错误消息,内容为:
SECU3504: Digital signature verification failure.
Signature failed core validation
Signature validation status: true
ref[#id-32e3db92-b6fd-42a5-b032-a0dc2a15ae82] validity status: false
ref[#id-2b67ce75-e25f-4f66-b265-80a0e31911ec] validity status: false
Run Code Online (Sandbox Code Playgroud)
这是我的Java代码:
// Load KeyStore from .PFX certificate
KeyStore store = KeyStore.getInstance("PKCS12");
store.load(new FileInputStream(certificateFileName), certificatePassword.toCharArray());
// Build XML Document from String
String data = "..."; // Same request as in SoapUI
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
doc = dBuilder.parse(new ByteArrayInputStream(data.getBytes()));
// Load certificate
String alias = store.aliases().nextElement(); …
Run Code Online (Sandbox Code Playgroud) 我在Pandas DataFrame中有一个时间序列.时间戳可能不均匀(每1-5分钟一个),但总会有一个每5分钟一次(时间戳以分钟结尾于0,5,10,15,20,25,30,35,40,45,50 ,55).
例:
2017-01-01 2:05:00 32.90
2017-01-01 2:07:30 29.83
2017-01-01 2:10:00 45.76
2017-01-01 2:15:00 16.22
2017-01-01 2:20:00 17.33
2017-01-01 2:25:00 23.40
2017-01-01 2:28:45 150.12
2017-01-01 2:30:00 100.29
2017-01-01 2:35:00 38.45
2017-01-01 2:40:00 67.12
2017-01-01 2:45:00 20.00
2017-01-01 2:50:00 58.41
2017-01-01 2:55:00 58.32
2017-01-01 3:00:00 59.89
Run Code Online (Sandbox Code Playgroud)
我想获得15分钟的时间加权平均值.带有时间戳的行直接在15分钟标记(时间戳以分钟结尾于0,15,30,45)结束一个间隔,因此分组如下:
Group 1 (interval 2017-01-01 2:00:00):
2017-01-01 2:05:00 32.90
2017-01-01 2:07:30 29.83
2017-01-01 2:10:00 45.76
2017-01-01 2:15:00 16.22
Group 2 (interval 2017-01-01 2:15:00):
2017-01-01 2:20:00 17.33
2017-01-01 2:25:00 23.40
2017-01-01 2:28:45 150.12
2017-01-01 2:30:00 …
Run Code Online (Sandbox Code Playgroud) 我目前有一个MySQL服务器,但目前正在迁移到MS SQL Server。
我试图在C#应用程序的表中每批插入很多(2000)或记录。我想复制MySQL的“ REPLACE INTO”(替换)(UPSERT),如果记录存在,我想更新它,如果记录不存在,我想插入它。我目前有一个这样的声明:
REPLACE INTO tablename (keycol, col1, col2)
VALUES ('A','B','C'),
('C','D','E'),
('F','G','H'),
('I','J','K');
Run Code Online (Sandbox Code Playgroud)
有些记录将存在,而另一些则不存在。另外,该语句将在许多不同的表上运行,并且值是在运行时构建的(通过动态循环遍历每个字段),因此在编译时表的结构未知。
我怀疑我是否可以有效地使用MERGE,因为该批次中的某些记录将存在而一些记录将不存在,并且由于我不知道事前的表格结构以及我正在更新批次的事实。 2000条记录,出于性能原因,我不想使用子查询。
最好的解决方案的任何帮助将不胜感激。
我有一个带有每小时时间戳的 DataFrame:
2019-01-01 0:00:00 1
2019-01-01 1:00:00 2
2019-01-11 3:00:00 1
2019-01-21 4:00:00 2
2019-02-01 0:00:00 1
2019-03-05 1:00:00 2
2019-03-21 3:00:00 1
2019-04-08 4:00:00 2
Run Code Online (Sandbox Code Playgroud)
我正在使用 Pandas Grouper 每月对数据进行分组和求和:
monthly_data = [pd.Grouper(freq='M', label='left')].sum()
Run Code Online (Sandbox Code Playgroud)
预期输出:
2019-01-01 0:00:00 6
2019-02-01 0:00:00 1
2019-03-01 0:00:00 3
2019-04-01 0:00:00 2
Run Code Online (Sandbox Code Playgroud)
实际输出:
2018-12-31 0:00:00 6
2019-01-31 0:00:00 1
2019-02-28 0:00:00 3
2019-03-30 0:00:00 2
Run Code Online (Sandbox Code Playgroud)
如何让组的标签成为组中的第一个元素?
谢谢