zoukankan      html  css  js  c++  java
  • pandas 存取数据小笔记

    import pandas as pd 

    1.   读取和保存 csv文件

    #
    df = pd.read_csv(read_file_path, header=0)  
    # 其中read_file_path 为字符串,为读的文件所在路径
    # 比如 "../cj_data/query_result.csv"
    # header=0 意思是第一行包含字段名,可以通过df.columns 取到列名
    
    #保存
    df.to_csv(save_file_path)

     

    2.  pandas如何根据字段进行过滤

    df = df[                                              # [] 为读取操作符
               (df['course_id'] == course_id)         # == 等于
            & (df['member_id'] == str(member_id))    # & 来关联多个筛选条件,
              ]
    

    3. python脚本运行日志保存

    import logging
    
    dt = time.strftime("%Y%m%d")
    # 读取当前日期
    
    logfile = project_folder + "log/log_" + str(dt) + ".txt"
    logging.basicConfig(filename=logfile, filemode='a', level=logging.INFO)
    # 设置日志级别,开始写入日志
    
    logger = logging.getLogger(__name__)
    logger.info('write_member_result ...')
    logger.info(str(time.strftime("%Y-%m-%d %H:%M:%S")))
    #日志内容全靠logger.info
    #类似于print,但是可以保存日志文件,来帮助定位问题

    4.  排序,生成序列号

        df = df.sort_values(by='lesson_start_time', ascending=True)
        # 函数是pandas的sort_values
    
        df['lesson_order'] = range(df.shape[0])
        # 生成序号是从0开始的
    
        df['lesson_order'] = [i+1 for i in df['lesson_order']]
        # 序列号+1,变成从1开始
    

     

    5.  join操作

    df3 = pd.merge(df, df2, how='left', on=['member_id', 'lesson_id'])
    # 两个dataframe根据主键进行join
    

      

    6. dataframe 某个字段的类型转化

    df['col2'] = df['col2'].astype('float64')
    print '-----------'
    print df.dtypes
    

     

    7. spark 和python的 Data Frame之间互相转换

    8. python 对hive读和写

  • 相关阅读:
    csrf & xss
    android_sqlite
    android_error
    oracle笔记
    android_lesson_1
    mysql 设置编码
    前端进阶Event
    前端进阶Position
    chrome插件开发资料
    dom4j selectNodes
  • 原文地址:https://www.cnblogs.com/skyEva/p/8968529.html
Copyright © 2011-2022 走看看