personal code guide

hyy.py导航


  • read_din(ids,timea=90000000)

  • 读取0.92 oracle中的最新9000000s din数据
  • read_din2(ids,timea,line=602000)

  • 读取0.92 oracle中指定天的数据
  • charu(result,value,value2,df)

  • 将df数据分区结果(value)根据起始结束时间插入回df中
  • single_insert(result,df,value,value2,start=0)

  • 时间久了暂时忘了
  • fenqu(df,name,why,num,num2=0):

  • 对模拟量数据进行分区,name为指定分区列,why对应1,2,3,4,
    • 1为找出值小于等于num的连续区间
    • 2为找出值大于等于num的连续区间
    • 3为找出值不等于num的连续区间
    • 4为找出值小于num大于num2的连续区间
  • add_v(result,df,n,start=1,v=1,ns='value')

  • 依照分区结果result中的起始时间或结束时间,将df中ns列中对应时间的数据添加到result中,默认新增列名为value
  • change_time(df,time)

  • 将df中time列的YYYY-MM-DD hh:mm:ss格式date数据转换为毫秒级unix时间戳
  • combine(df1,name1,df2,name2,time='time'):

  • 根据df1,df2中的time列对数据进行合并,若value列名相同,则name1和name2对应df1 df2中value列的新名称
  • fix_data(df45,cname='v')

  • 对din开关量缺失值进行修复,cname为开关量值所在列名
  • create_data(df,t1,t2)

  • 依据dataframe中的零散开关量生成din格式数据
  • 具体原理不记得了
  • good_data(temp_df)

  • 填充din压缩时间,df仅为两列一列时间一列为值,顺序为'time','value'
  • es_post(df,fid,value,index1='data1',type1='float')

  • 向es索引中新增数据,df为数据来源
  • fid为特征值存储id
  • value:df中所需上传数据的列名
  • index1: 数据上传的索引,若索引不存在则会自动新建索引,mapping包含id,time,value
  • type1:暂时没用
  • es_add(id1,type1,index='data1')

  • 在已有索引中新增字段,字段名为id1,type为value
  • read_es(id1,time1,index='data1',line=43000)

  • 在es索引中根据字段名和时间范围来读取数据,时间范围为time1~(time1-line)
  • read_es2(index,name,line=86400)

  • 根据es索引名和测点id读取最新一天的数据
  • delete_es(id1,time1,index1='data',line=10000)

  • 根据时间删除es索引中的数据 time~(time-line*1000)
  • influxdb相关

  • post_db(df,table='feature_record')
  • read_db(id1,time1,table='ain_din',line=86000)
  • din(df2,df11,t1='排水泵启动')

  • 将din数据写入df中,需优先fix_data
  • updown(df,why)

  • 求水位不下降的区间,why=1
  • 可对异常区间断点进行合并
  • 代码逻辑比较混乱,完全不知道怎么写出来的,最好不要碰
posted @ 2019-08-26 10:17  我不做人了jojo  阅读(194)  评论(0编辑  收藏  举报