利用Python进行数据分析笔记-第二章

来源:互联网 发布:无间道3什么意思 知乎 编辑:程序博客网 时间:2024/05/29 13:17

这里写图片描述

json数据的读取:

import json#待读取json文件路径path = 'xxx'#records为json数组records = [json.loads(line) for line in open(path)]

用字典计数(两种方式):

#纯手写的方式def get_counts(sequence):    counts = {}    for x in sequence:        if x in counts:            counts[x] += 1        else:            counts[x] = 1    return counts#使用defaultdictfrom collections import defaultdictdef get_counts2(sequence):    #所有的值均初始化为0    counts = defaultdict(int)    for x in sequence:        counts[x] += 1    return counts

字典计数后,取前n位(两种方式):

def top_counts(count_dict,n = 10):    #count_dict为之前求的计数字典    value_key_pairs = [(count,tz) for tz,count in count_dict.items()]    #即将字典转化为元组数组后排序,注意元组的第0项为技术值    value_key_pairs.sort()    取倒数n项    return value_key_pairs[-n:]#第二种方式,使用collections.Counterfrom collections import Counter#time_zone为希望计数和求前n项的数组counts = Counter(time_zone)counts.mostCommon(10)

将数据转化为DataFrame:
这里写图片描述

利用frame的value_counts()方法轻松对tz进行计数并且返回前n项:
这里写图片描述

为tz(时区)绘图,替换了缺失值和空字符串:
这里写图片描述

移除某列为空值的数据:

#a为空,则移除cframe = frame[frame.a.notnull()]

调用np.where对a进行转换:

operating_system = np.where(cframe['a'].str.contains('Windows'),'Windows','Not Windows')

对frame进行分组:

operating_system = np.where(cframe['a'].str.contains('Windows'),'Windows','Not  Windows')#cframe通过tz列和operating_system进行分组by_tz_os = cframe.groupby(['tz',operating_system])#分组后的处理agg_counts = by_tz_os.size().unstack().fillna(0)

效果截图:
这里写图片描述
这里写图片描述
这里写图片描述

选取最常出现的时区,并绘制条形图:
这里写图片描述

反映操作系统用户比例的堆积条形图:
这里写图片描述

调用pandas.read_table将数据(未以字典形式存储,以一些分隔符分割)转换为DataFrame:
这里写图片描述

合并users,ratings,movies这三张表,注意pandas可以通过列名识别键:
这里写图片描述

利用聚合方法pivot_table,按性别计算每部电影的平均得分:
这里写图片描述

利用groupby()分组,过滤掉评分数据不够250条的电影:
这里写图片描述

对DataFrame进行排序,sort_index()方法:
这里写图片描述

为mean_ratings**添加分歧列**,比较男女分歧:
这里写图片描述

利用std()计算分歧最大的电影(即标准差):
这里写图片描述

利用pandas.read_csv加载数据到DataFrame:
这里写图片描述

对frame分组后两种方式聚合数据:
这里写图片描述

利用pandas.concat()进行数据组装,两点需要注意,1.pandas.concat默认按行组装,2.ignore_index必须为True:
这里写图片描述

调用pivot_table后绘图:
这里写图片描述

插入prop列,用于存放指定名字的婴儿数相对于总出生数的比例:
这里写图片描述

利用np.allclose校验数据:
这里写图片描述

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 快递寄错地方了怎么办 16岁掉头发严重怎么办 18岁老是掉头发怎么办 17岁头发老是掉怎么办 19岁老是掉头发怎么办 植发的了毛囊炎怎么办 长得好看不上镜怎么办 鬓角的头发总翘怎么办 戴贞洁锁硬了怎么办 欠很多钱还不了怎么办 理财平台跑路了怎么办 联通4g信号不好怎么办 老年人耳朵嗡嗡响什么原因怎么办 单侧耳朵嗡嗡响怎么办 蚊子钻到耳朵里怎么办 小飞虫进耳朵里怎么办 耳朵里飞进去虫怎么办 耳朵里进虫子了怎么办 耳朵进虫子了怎么办啊 耳朵里进了蚊子怎么办 有虫子爬进耳朵怎么办 虫子死在耳朵里怎么办 早上起床口苦口臭怎么办 耳朵被耳屎堵了怎么办 油耳朵被堵住了怎么办 棉签掏耳朵堵了怎么办 耳朵被气堵住了怎么办 掏耳朵发炎了疼怎么办 掏耳朵掏深了疼怎么办 耳朵里进了虫子怎么办? 耳朵里飞进小虫怎么办 一只耳朵听力差怎么办 62岁耳朵有点聋怎么办 一支耳朵有点聋怎么办 80岁老人耳朵聋怎么办 被nlp课程洗脑了怎么办 手上张了个鸡眼怎么办 手上长了个鸡眼怎么办 6岁儿童手指脱皮怎么办 手指骨折后关节僵硬怎么办 手指外伤后关节肿大僵硬怎么办