Python跟MATLAB的一些问题~
之前在用MATLAB进行画图,但是MATLAB的代码过于太冗余,所以想换成Python将代码优化一下。但是Python又有一些地方搞不懂。因为数据是一个73*3的表格,需要分成3列73行进行代码的操作。
想问问有没有啥好的方法。
还想加上窗口,点击提交文件,然后生成图形,但是实在是没有头绪,感谢大佬们的帮助
import sys,os
import tkinter
from tkinter import *
from matplotlib.pyplot import plot, draw, show
import matplotlib.pyplot as plt
import numpy as np
def xlsRead_CH0(file):
data0 = xlrd.open_workbook(file)
table0 = data0.sheets()
nrow0 = table0.nrows
for i in range(nrow0):
if i == 0:
continue
print(table0.row_values(i))
def plot_CH0():
plt.figure(num=1)
plt.polar()
plt.show()
if __name__ == '__main__':
file_path = r"RtisLup.xlsx"
xlsRead_CH0(file_path)
本帖最后由 ps214 于 2020-12-13 01:32 编辑
因为数据是一个73*3的表格,需要分成3列73行进行代码的操作。
矩阵变换的话, 看看 numpy 和 pandas 这俩库吧, 专门用来处理矩阵数据的
好像是用 pandas 的 dataframe , 太久没用记不清了, 搜一下很简单 用python的pandas库处理多行多列的数据会很方便,pandas最适合你的这种情况 我又来了,按照你们的思路利用了pandas,但是我又把代码写冗余了。
想整一个短而精湛的代码代替这一堆冗余的代码。
def OTA_CH0(file):
CH0 = pd.read_excel(file, sheet_name="CH0")
theta = CH0['Azimuth'].values
rho = CH0['Elevation'].values
total = CH0['Total'].values
# theta
theta_0 = theta[:12]
theta_30 = theta
theta_60 = theta
theta_90 = theta
theta_120 = theta
theta_150 = theta
# rho
rho_0 = rho[:12]
rho_30 = rho
rho_60 = rho
rho_90 = rho
rho_120 = rho
rho_150 = rho
# total
total_0 = total[:12]
total_30 = total
total_60 = total
total_90 = total
total_120 = total
total_150 = total
页:
[1]