python界面设计简单项目实践——逆pedal map

python界面设计简单项目实践——逆pedal map(持续更新)

背景介绍

I:车速-油门-扭矩力padel map
P:坐标轴转换+插值+索引+提取
O:车速-扭矩力-油门逆padel map

逻辑主线

面向对象+过程设计
获取数据
处理数据
输出数据

方法支持

界面搭建
界面布局
事件响应:信号+槽

获取响应-处理响应-输出反馈

    def initUI(self):
    	#主窗口
        self.setGeometry(0, 0, 800, 400)
        self.setWindowTitle('逆Pedal Map计算工具')
		#按钮事件响应
        self.bt1 = QPushButton('数据装载', self)
        self.bt1.move(150, 200)
        self.bt1.clicked.connect(self.openfile)
        self.show()

pyqt5文件对话框使用
点击主窗口显示子窗口

数据的输入和输出
文件

系统启动excel程序:

os.system(r'matrix.xlsx') 

打开excel读取矩阵:

 df = pd.read_excel('matrix.xlsx', sheet_name='padelmap', header=None)

保存矩阵生成excel:

 t = time.localtime() #获取本地时间struct型
 data_df = pd.DataFrame(goaldata)	#类型转换
 writer = pd.ExcelWriter(  r'..\\result\\'+ time.strftime("%Y-%m-%d %H-%M-%S", t) + 'nimapdata.xlsx')  #..\当期路径的上一级 + 本地时间~格式化输出 + 文件名及后缀
 data_df.to_excel(writer, sheet_name='nipedalmap')
 writer.save()

pandas将数据导入excel参数设置
python处理excel数据基本操作

文本
数据的处理
识别和转化

数据类型的读取:

type(df)

数据类型的转化:

dfdata = np.array(df)

数据取整

矩阵的操作

生成一定维度矩阵:

middata1 = np.zeros(shape=(ynum + 1, col))

生成定步长数组:

middata1[1:, 0] = np.arange(zmin, zmax + 1, 1)

numpy自动生成数组
矩阵的转置:

force == dfdata2.transpose()[j, 0]

矩阵维度的获取:

row = dfdata.shape[0]
col = dfdata.shape[1]

矩阵范围最值的获取:

dfdata[1:, 1:].max()

numpy冒号的使用注意:#python的数组使用[] matlab的数组使用(),且python的索引是左闭右开,matlab的索引是都闭,python的冒号代表全局或范围,-1代表末尾
矩阵间移植:

middata1[0, :] = dfdata[0, :]

矩阵拷贝赋值
获取矩阵中满足条件的元素索引:

index1 = np.zeros(shape=(1, dfdata1.shape[1]))
        for i in range(0, dfdata1.shape[1]):
            index1[0, i] = np.argwhere(speed == dfdata1[0, i]) + 1

list和numpy数组最值索引
numpy获取矩阵特殊值(最值,平均……)

面向对象+面向过程

经验产出

万物皆对象
界面程序框架与程序实现主体衔接

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值