Python札记机器学习_Python算法呆鸟的Python数据分析

《利用Python进行数据分析》札记1

2019-06-17  本文已影响1人  皮皮大

本书主要讲解的是利用Python进行数据控制、处理、整理、分析等。书中所指的数据为:


Numpy
NumpyPython科学计算的基础包。主要功能有:

pandas
pandas兼具Numpy高性能的数组计算功能以及电子表格和关系型数据(SQL)等灵活的数据处理功能

matplotlib

Scipy

Scipy是一组专门用来解决科学计算中各种标准问题域的包的集合,主要的包有:

image.png image.png
import  json
from collections import defaultdict  # 导入默认字典,值全部为0
from collections import Counter   # 导入计数器

path  = "D:/Python/datalearning/pydata-book/datasets/bitly_usagov/example.txt"
# res =  open(path).readline()    读取文件中的一行数据
records = [json.loads(line) for line in open(path)]   # 通过json模块的loads()函数将json格式的文件转换成Python字典形式,再读取数据
time_zones = [rec['tz'] for rec in records if 'tz' in rec]   # 不是所有的记录都有时区段,需要加上判断语句
# print(time_zones[:10])    查看前10个时区记录

# 实现计数功能,将计数值保存在字典中
def get_counts(sequence):
    counts = {}
    for x in sequence:       # 先判断x是否在sequence中
        if x in counts:
            counts[x] += 1   # 如果存在,则值自动加1
        else:
            counts[x] = 1    # 如果不在,则将x对应的value赋值成1
    return counts


def get_counts1(sequence):
    counts = defaultdict(int)   # 将字典中所有的值初始化为0
    for x in sequence:
        counts[x] += 1     # 当x在sequence中,则counts的值自动加1;
    return counts

# 获取前10位的时区及计数值
def top_counts(count_dict, n=10):
    value_key_pairs = [(count, tz) for tz, count in count_dict.items()]
    value_key_pairs.sort()        # sort()函数默认是升序排列
    return value_key_pairs[-n:]   # 从索引为-10到最后索引为-1,10个数据


# 通过标准库来实现
counts1 = Counter(time_zones)     # 应用collections.Counter类
print(counts1.most_common(10))
print("-------------------")

counts = get_counts(time_zones)
print(top_counts(counts))
# print("time_zones:", counts)
# print("time_zones:", get_counts1(time_zones))
print(counts['America/New_York'])
print(len(time_zones))
上一篇 下一篇

猜你喜欢

热点阅读