见贤思小齐,知足常乐呵

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

 

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读和写

 

posted on 2018-04-28 16:33  Suckseedeva  阅读(587)  评论(0编辑  收藏  举报