数据挖掘笔记1

1 datetime.strptime函数用法 ----字符串转日期格式

使用格式datetime.strptime(date_string, format),其中date_string 就是要转成日期的字符串,format 根据date_string 不同而不同.最常见(dates, '%Y-%m-%d %H') 年月日时 格式应该与dates一样。


2 pd.read_csv(data_file, 
                            parse_dates = [0],
                            date_parser = dateparse,

                            index_col = False,   chunksize=100000)

读取csv文件 其中参数chunksize是当文件较大时内存处理不过来 将文件分块处理,然后运行,避免溢出。


3 df_act_34.drop_duplicates(['user_id','item_id','behavior_type'])

drop_duplicates是去重函数 后面跟着两个列 即两个列一样则视为重复 单独一个不为重复


4df_time[df_time['time4'].isnull()].drop(['time4'], axis = 1)

isnull 判别是不是none 是的话找出来   drop则为删除键 axis=1代表一列


5数据两列都是时间的话 可以直接相减


6想要区分某一列中元素 比如大于5的是一类 小于5的是一类 然后两类相比较 

这里我们就应该先把这两类分成两个文件 然后在对这两个文件进行操作

对于一个文件分成两个文件(CSV) 

首先应该用fou循环大的 csv 然后对每一行进行操作,然后再保存起来

import csv
for df in pd.read_csv(open(r'C:\Users\yang\Desktop\tianchi1\user.csv','r'),chunksize=100000): 
    try:
        df_act_34 = df.loc[  df['behavior_type'].isin([3,4]),:  ] 
    
        df_act_34.to_csv(r'C:\Users\yang\Desktop\tianchi1\df_act_34.csv',
                         columns=['time','user_id','item_id','behavior_type'],
                         index=False, header=False,
                        mode = 'a')
        batch += 1
        print('chunk %d done.' %batch) 
        
    except StopIteration:
        print("finish.")
        break 

并不能直接保存 因为这里不是对整体进行操作 是对一行中进行判断是否符合要求 然后符合要求在进行保存

而一些对行,列进行操作的之后变化,是可以直接保存的 因为没有设计每一个序列进行判断 而是整体进行操作

df_time_3 = df_time[df_time['time4'].isnull()].drop(['time4'], axis = 1)#删除某列 
df_time_3 = df_time_3.dropna()
df_time_3.to_csv(r'C:\Users\yang\Desktop\tianchi1\time_3.csv',
                  columns=['user_id','item_id','time3'],
                  index=False)



阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_24753293/article/details/80687479
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭