1. 前言
前一篇已經教大家如何在Android Studio上進行Chaquopy安裝;由於Chaquopy支援Python多個第三方庫,讓開發者可以在Android Studio上輕鬆使用Python生態系統。Chaquopy支援大多數常用的Python第三方庫,例如numPy、SciPy、Pandas、Matplotlib、Scikit-learn等。詳細第三方庫可參考Chaquopy package repository網站。
因此這次要教大家如何安裝Python第三方庫numpy與應用。
2. Android Studio安裝Python第三方庫numpy
以下環境是在Windows 10下建置。
a. 在appàbuild.gradleàdefaultConfigàpython區塊添加文件添加。(圖1)
pip{
install "numpy"
}
看官們如果要安裝其他第三方庫也可以利用此方式進行新增。
圖1 |
圖2 |
以下提供兩個範例,1) 使用numpy計算兩個矩陣的乘積。2) 使用numpy生成隨機數組,並計算其平均值和標準差,除了透過python使用numpy計算外,還能將計算後的數值返回並轉成java格式,供使用者能夠在java進行後續應用,達到java與python交互應用。
a. 使用numpy計算兩個矩陣的乘積。
i. 在hello_python.py檔案內增加。(圖3)
import numpy as np
#使用numpy計算兩個矩陣的乘積
def matrix_multiply():
a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6], [7, 8]])
c = np.matmul(a, b)
return c
圖3 |
//初始化python環境
if(!Python.isStarted()){
Python.start(new AndroidPlatform(this));
}
//使用numpy計算兩個矩陣的乘積
Python py = Python.getInstance();
//調用hello_python.py裡面的matrix_multiply函式
PyObject pyObj = py.getModule("hello_python").get("matrix_multiply");
//將matrix_multiply計算完的數值,換成java中的float類型
float[][] result = pyObj.call().toJava(float[][].class);
String resultStr = "";
for (int i = 0; i < result.length; i++) {
for (int j = 0; j < result[i].length; j++) {
resultStr += result[i][j] + " ";
}
resultStr += "\n";
}
Log.d("Result", resultStr);
圖4 |
圖5 |
b. 使用numpy生成隨機數組,並計算其平均值和標準差。
i. 在hello_python.py檔案內增加。(圖6)
import numpy as np
#使用numpy生成隨機數組,並計算其平均值和標準差。
def numpy_example():
# Generate a random array with shape (3, 3)
a = np.random.rand(3, 3)
# Calculate the mean of the array
mean = np.mean(a)
# Calculate the standard deviation of the array
std = np.std(a)
return mean, std
圖6 |
//使用numpy生成隨機數組,並計算其平均值和標準差。
Python np = Python.getInstance();
//調用hello_python.py裡面的numpy_example函式
PyObject npObj = np.getModule("hello_python").get("numpy_example");
PyObject npResult = npObj.call();
//numpy_example的返回值有兩個,將其分別轉換成java中的float類型
float mean = npResult.asList().get(0).toFloat();
float std = npResult.asList().get(1).toFloat();
Log.d("Result"," mean = "+ mean);
Log.d("Result"," std = "+ std);
圖7 |
圖8 |
結語
透過以上的教學,相信各位已經能夠成功透過Android Studio輕鬆地結合Chaquopy使用Python第三方庫numpy,這將可為各位看官們提供更多的功能應用選擇,使得開發過程更加靈活和高效,有問題的看官們歡迎聯繫我,我們一同討論。
喜歡我的帖子,請幫我按個”收藏”,我們下回見。
Q&A
- Chaquopy 是否可以在 iOS 上運行?
Ans:Chaquopy 目前只支援 Android 平台,並不支持 iOS。
- Chaquopy是否需要Internet連接才能工作?
Ans:在構建過程中,Chaquopy需要Internet連接才能下載Python解釋器和第三方庫。但是,在運行時,它不需要Internet連接。
- 在使用Chaquopy時,是否需要將Python代碼轉換為Java代碼?
Ans:不需要。Chaquopy允許直接在Android應用中運行Python代碼,並且可以方便地將Python數據類型轉換為Java數據類型。
- Chaquopy的Python第三方庫是否支援Qt5嗎?
Ans: Chaquopy並不支援Qt5
- Chaquopy的Python第三方庫是否支持OpenCV?
Ans:是的,有支援,此部份下一篇博文會介紹,近請期待。
評論