zoukankan      html  css  js  c++  java
  • pandas过滤值

    pandas 过滤某些值。语法看起来简单,老是出错。试验过才知道问题出在哪里,所谓知行合一嘛

    import pandas as pd
    import numpy as np
    import os
    import time
    
    #  主要是简单合并excel, 太多了。麻烦的很,不想搞 。
    # 地址
    # 修改一下,换一个新的保存地址。最好加上时间
    
    path = r"C:Users1Desktop工作202106	est"
    
    path1 = r"C:Users1Desktop工作202106save"
    
    # 当前时间格式,很有用。
    tim = time.strftime("%Y-%m-%d-%H_%M_%S", time.localtime(time.time()))
    
    # print(path + '\' + tim + '.xlsx')
    # print(a)
    
    filenames = os.listdir(path)
    df = pd.DataFrame()
    # 遍历需要文件夹所有文件
    
    for i in filenames:
        #     print (path + '\'+ i )   -- 验证地址
        data = pd.read_excel(path + '\' + i)
        df = df.append(data)
    
    df
    #  地址
    # adres = path1 + '\' + tim + '.xlsx'
    
    # print(adres)
    # df.to_excel(adres)
    

     

    过滤单个值

    #  完成过滤单个值
    df[df['一级品类'] != '食品']  
    

    这样也可以过滤单值。

    #  完成过滤单个值
    df[ df.一级品类 != '食品']
    

      

    过滤多个值。 df[] 里面是个布尔函数判断. true 还是false 。这样来进行的。

    # 多个值  df[] 里面是个布尔函数判断. true 还是false
    # 之所以错误,就是因为后面的 ()  里面套[] .不要弄反了.
    df[ df['二级品类'].isin(['日化家清']) ] 
    

     

    处理新列。

    # 判断条件
    mask1=df['销售件数'] <0
    mask1
    # 新增列,处理负数为零。 然后原来给原来。应该有简单的方式。
    df['水'] = np.select([mask1], ['0'], df['销售件数'])
    df
    

      

  • 相关阅读:
    linux上搭建tingproxy服务
    windows上搭建linux系统
    PHP将图片流存为图片文件
    openLayer矩形框选要素,展示要素属性
    点击选中的要素,更换标注图片,并添加文本标注
    openLayer点击要素获取对应的属性信息
    openLayer实现放大缩小
    openLayer的切换中心点、定位功能
    使用openLayer加载arcgis中的地图
    openLayer实现两个地图联动
  • 原文地址:https://www.cnblogs.com/sakura3/p/14888426.html
Copyright © 2011-2022 走看看