关于python解析mf4中二维信号数据的注意事项

发布时间:2023年12月27日

? ? ? ? python解析mf4中的信号数据一般用np.ndarray存储,但是mf4中的一个信号有时不一定是一维数据,有时会是一个二维的,没错,就是一个信号数据就是二维的,这时候,np数组的每个元素也是一个数组,这个时候就要注意了,当一个mf4有这种数据时,这时转成dataframe的时候是下图这样的

这种数据是没法直接计算的,所以需要单独处理,然后mf4可能还有信号是字符串类型,转成df后为每个元素的类型为np.bytes_类型,然后我还有一个mf4是正常的,没有这种数据,那么在这时候,我想使用pd.concat函数拼接两个df的时候就会报如下错误

Traceback (most recent call last):
  File "c:\Users\master01\Desktop\下载\AnalysisTools\task_threads.py", line 451, in run
    df = pd.concat([df,df_tmp],axis=0)
  File "C:\Users\master01\Anaconda3\lib\site-packages\pandas\util\_decorators.py", line 311, in wrapper
    return func(*args, **kwargs)
  File "C:\Users\master01\Anaconda3\lib\site-packages\pandas\core\reshape\concat.py", line 360, in concat
    return op.get_result()
  File "C:\Users\master01\Anaconda3\lib\site-packages\pandas\core\reshape\concat.py", line 595, in get_result
    new_data = concatenate_managers(
  File "C:\Users\master01\Anaconda3\lib\site-packages\pandas\core\internals\concat.py", line 242, in concatenate_managers
    values = _concatenate_join_units(join_units, concat_axis, copy=copy)
  File "C:\Users\master01\Anaconda3\lib\site-packages\pandas\core\internals\concat.py", line 543, in _concatenate_join_units
    upcasted_na = _dtype_to_na_value(empty_dtype, has_none_blocks)
  File "C:\Users\master01\Anaconda3\lib\site-packages\pandas\core\internals\concat.py", line 604, in _dtype_to_na_value
    raise NotImplementedError
NotImplementedError

所以,当遇到这种信号的时候,需要把bytes类型信号去掉,否则会影响df的拼接,经过打印知道,这种信号的单个元素一般是np.bytes_类型,所以通过type或者isinstance类型判断,把这种数据去掉,解决!!!!

后记:但是这种情况我自己创建数据并没有复现,后面再看看

文章来源:https://blog.csdn.net/zy1620454507/article/details/135238903
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。