我有一个df,其中某些数据放置在某些字节中。我有一个问题,在框架内有两个位保留给切换功能,这对我来说并不重要,但会影响任务的最终结果。
字节帧如下:
Start bit 0 1 2 3 4 5 6 7
0 A A A A A A A A
8 A A
16 B B B B B B B B
24 B B C C
C represents the toggle
我的df看起来像这样:
A A B B
BA 00 11 02
BA 00 11 02
BA 00 11 42
BA 00 11 42
BA 00 11 82
BA 00 11 82
BA 00 11 C2
BA 00 11 C2
BA 00 11 02
BA 00 11 02
我可以从B看到第二个字节的第一部分正在循环,这意味着第二个数字是切换位置。我猜还是我错了?之后,该数字(2)在我的df中更改为1,然后更改为0。
有没有一种方法可以转换,分隔或消除第二位数字,或者只能采用第一位数字(本例为0)。例如。 02-> 0和2只是取0。之后的df是不同于0的数字,但无论如何0,4,8和C都是连续的,并且2也后来更改为1,然后为0。:)
答案 0 :(得分:0)
对于那些寻求答案的人,我用枕头咨询了一下,我们同意尝试以下切实可行的方法:
因此,将这些字节放在一起后:
df['A'] = df.iloc[:,1] + '' + df.iloc[:,0] #Dominant byte is the second position
df['B'] = df.iloc[:,3] + '' + df.iloc[:,2]
输出:
A B
00BA 0211
00BA 0211
00BA 4211
00BA 4211
00BA 8211
00BA 8211
00BA C211
00BA C211
00BA 0211
00BA 0211
我做了以下事情:
df['B'] = df['B'].str[1:] #Only take the last three digits of the array
输出:
A B
00BA 211
00BA 211
00BA 211
00BA 211
00BA 211
00BA 211
00BA 211
00BA 211
00BA 211
00BA 211