首页 > 解决方案 > 如何摆脱 NaturalNameWarning?

问题描述

我的脚本正在做以下事情:

  1. 从二进制文件中读取时间序列trc(UHF 测量)
  2. 裁剪某些区域(脉冲)并将它们中的每一个保存到pd.DataFrame
  3. 全部保存DataFrames到一个hdf5文件中

这工作正常,但tables模块似乎NaturalNameWarning为每一个DataFrame.

这是DataFrames保存到的位置hdf5

num = 0
for idx, row in df_oszi.iloc[peaks].iterrows():
    start_peak = idx - 1*1e-3
    end_peak = idx + 10*1e-3  #tges=11us
    df_pos = df_oszi[start_peak:end_peak]
    df_pos.to_hdf('pos.h5', key=str(num))
    num += 1

输出:

Warning (from warnings module):
  File "C:\Users\Artur\AppData\Local\Programs\Python\Python37\lib\site-packages\tables\path.py", line 157
    check_attribute_name(name)
NaturalNameWarning: object name is not a valid Python identifier: '185'; it does not match the pattern ``^[a-zA-Z_][a-zA-Z0-9_]*$``; you will not be able to use natural naming to access this object; using ``getattr()`` will still work, though

标签: pythonpandashdf5

解决方案


只要您不真的要使用表访问,您就可以随时执行此操作。

import warnings
from tables import NaturalNameWarning
warnings.filterwarnings('ignore', category=NaturalNameWarning)

推荐阅读