python - 将python中的数据格式转换为ascii
问题描述
来自 Allen Bradley PLC 的数据采用“值”列中的 5 位数字格式
| tagid | value | datetime | quality |
|-------|-------|-------------------------|---------|
| T0 | 21328 | 05-03-2021 14:11:53.087 | 192 |
| T1 | 12340 | 05-03-2021 14:14:25.787 | 192 |
| T2 | 17992 | 05-03-2021 14:16:52.687 | 192 |
| T0 | 17992 | 05-03-2021 14:19:14.470 | 192 |
| T1 | 17992 | 05-03-2021 14:21:31.623 | 192 |
| T2 | 21328 | 05-03-2021 14:23:50.220 | 192 |
| T0 | 21328 | 05-03-2021 14:26:13.747 | 192 |
| T1 | 17992 | 05-03-2021 14:28:29.817 | 192 |
| T2 | 17992 | 05-03-2021 14:31:03.603 | 192 |
最初我无法识别从这个 5 位值中获取所需值的步骤。
然后在 Excel/Python 中进行了一些实验后,我做了以下步骤并得到了正确的期望值
步骤:
步骤 1. 将值除以 256 并四舍五入(例如 17992/256,即 70
步骤 2. 对相同的值进行修改(例如:=Mod(17992,256),即 72
步骤 3. 找到等于 70 的 Ascii 值,即 F
第 4 步。找到等于 72 的 Ascii 值,即 H
第 5 步:连接 F&H,即 FH
所以说 17992 的期望值是 'FH' , 12340 是 '0468'
| tagid | value | datetime | quality |
|-------|-------|-------------------------|---------|
| T0 | FH | 05-03-2021 14:11:53.087 | 192 |
| T1 | 02 | 05-03-2021 14:14:25.787 | 192 |
python数据框中有没有简单有效的方法来做以上步骤,而不是一步一步做
解决方案
- 简单整数div和mod
apply()
到系列获取 ASCII 码
df.value = (df.value//256).apply(chr) + (df.value%256).apply(chr)
标记 | 价值 | 约会时间 | 质量 | |
---|---|---|---|---|
0 | T0 | SP | 2021 年 5 月 3 日 14:11:53.087 | 192 |
1 | T1 | 04 | 2021 年 5 月 3 日 14:14:25.787 | 192 |
2 | T2 | 跳频 | 2021 年 5 月 3 日 14:16:52.687 | 192 |
3 | T0 | 跳频 | 2021 年 5 月 3 日 14:19:14.470 | 192 |
4 | T1 | 跳频 | 2021 年 5 月 3 日 14:21:31.623 | 192 |
5 | T2 | SP | 2021 年 5 月 3 日 14:23:50.220 | 192 |
6 | T0 | SP | 2021 年 5 月 3 日 14:26:13.747 | 192 |
7 | T1 | 跳频 | 2021 年 5 月 3 日 14:28:29.817 | 192 |
8 | T2 | 跳频 | 2021 年 5 月 3 日 14:31:03.603 | 192 |
推荐阅读
- python - “tf.keras.losses.SparseCategoricalCrossentropy()”是否适用于所有分类问题?
- r - 在 R 中自动创建多个向量
- node.js - 尝试连接后端时出现错误。它说错误号:-4078
- reactjs - 如何在组件界面中强制使用特定类型的 HTML 标签
- java - 在同一会话中出现异常后,休眠无法初始化惰性实体
- python - 尝试使用 googleTrans 模块制作批量翻译器
- javascript - 从组件外部的上下文挂钩中使用函数的解决方法
- python - 获取href selenium python中的链接
- javascript - expo 深度链接到指定页面(iOS 模拟器)
- events - 单击类目标转换无法正常工作 [Google 跟踪代码管理器]