作者:甄之恋 | 来源:互联网 | 2023-09-17 16:49
这个问题折腾了我几个小时才弄明白怎么回事。。。现在来简单解释一下首先你需要一个java开发环境这里使用eclipse输入以下代码(*.py路径按需求更改)packaget;impo
这个问题折腾了我几个小时才弄明白怎么回事。。。
现在来简单解释一下
首先你需要一个java开发环境 这里使用eclipse
输入以下代码(*.py 路径按需求更改)
package t;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
public class Test {
public static void main(String[] args) throws IOException, InterruptedException {
// TODO 自动生成的方法存根
//Process proc = Runtime.getRuntime().exec("python F:\\pythonLabCodes\\lab3\\lab3_2.py");
try {
System.out.println("start");
String args1="python"+" "+"F:\\pythonLabCodes\\lab3\\lab3_2.py";
Process pr=Runtime.getRuntime().exec(args1);
BufferedReader in = new BufferedReader(new InputStreamReader(
pr.getInputStream()));
String line;
while ((line = in.readLine()) != null) {
System.out.println(line);
}
in.close();
pr.waitFor();
System.out.println("end");
} catch (Exception e) {
e.printStackTrace();
}
}
}
//上述引用某大佬的代码
#-*- coding: utf-8 -*-
#数据规范化
import pandas as pd
import numpy as np
datafile = r'F:\pythonLabCodes\lab3\chapter4\demo\data\normalization_data.xls' #参数初始化
data = pd.read_excel(datafile, header = None) #读取数据
data1=(data - data.min())/(data.max() - data.min()) #最小-最大规范化
data2=(data - data.mean())/data.std() #零-均值规范化
data3=data/10**np.ceil(np.log10(data.abs().max())) #小数定标规范化
print(data1)
print(data2)
print(data3)
print(sys.path)
//上述为lab3_2.py代码
xml就不展示了
输出结果:
一开始在cmd下运行总是找不到no module named pandas
所以在java下也输出不了结果
找了很多文章也弄不太明白,后来才发现问题
关键点在于配置PYTHONPATH变量
注意这里需要的是模块(module)的安装路径的上一层
例如F:\projects\pycharm\venv\Lib\site-packages\;
配置完毕之后点击确认再次运行即可正常出结果。