楼主: ada89k
1612 3

[其他] 数据分析师学习Python_数据分析师 [推广有奖]

  • 3关注
  • 72粉丝

院士

99%

还不是VIP/贵宾

-

威望
2
论坛币
2987 个
通用积分
7.9504
学术水平
123 点
热心指数
149 点
信用等级
82 点
经验
46289 点
帖子
1667
精华
3
在线时间
2456 小时
注册时间
2017-2-7
最后登录
2024-5-18

楼主
ada89k 在职认证  发表于 2017-3-14 16:03:03 |只看作者 |坛友微信交流群|倒序 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

数据分析师学习Python_数据分析师

以下是数据分析师学习Python的相关文章,希望可以对正在学习Python的数据分析师有所帮助。

json:是一种常用的web数据格式,其中《利用python进行数据分析》用到的一个usa.gov数据集就是这种格式。

{ "a": "Mozilla\/5.0(Windows NT 6.1; WOW64) AppleWebKit\/535.11 (KHTML, like Gecko)Chrome\/17.0.963.78 Safari\/535.11", "c": "US","nk": 1, "tz": "America\/New_York","gr": "MA", "g": "A6qOVH","h": "wfLQtf", "l": "orofrog","al": "en-US,en;q=0.8", "hh":

"1.usa.gov", "r":"http:\/\/www.facebook.com\/l\/7AQEFzjSi\/1.usa.gov\/wfLQtf","u": "http:\/\/www.ncbi.nlm.nih.gov\/pubmed\/22415991","t": 1331923247, "hc": 1331822918, "cy":"Danvers", "ll": [ 42.576698, -70.954903 ] }

这是数据中的一行。

列表推到式:这是在一组字符串或其他对象上执行相同的指令的方式,例如:num = [a for a in open(filename)]

字典:字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:d ={key1 : value1,

key2: value2 }

本部分的代码可见下:

[python] view plain copy 在CODE上查看代码片派生到我的代码片

#encoding:utf8  

'''''

Created on 2016年9月28日

@author: 8888

'''  

import json

sourcepath =r"D:\workspace\pydata-book-master\ch02\usagov_bitly_data2012-03-16-1331923249.txt"  

#print(open(sourcepath).readline())  

record = [json.loads(line) for line inopen(sourcepath)]  

print(record[0])  

#字典的话可以用键值对来搜索如下:  

print(record[0]['u'])  

--------

输出为

{u'a': u'Mozilla/5.0 (Windows NT 6.1;WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.78Safari/535.11', u'c': u'US', u'nk': 1, u'tz': u'America/New_York', u'gr':u'MA', u'g': u'A6qOVH', u'h': u'wfLQtf', u'cy': u'Danvers', u'l': u'orofrog',u'al':

u'en-US,en;q=0.8', u'hh': u'1.usa.gov', u'r':u'http://www.facebook.com/l/7AQEFzjSi/1.usa.gov/wfLQtf',u'u':u'http://www.ncbi.nlm.nih.gov/pubmed/22415991', u't': 1331923247, u'hc':1331822918, u'll': [42.576698, -70.954903]}


统计一个序列中单词的个数:两种写法:

def get_count(sequence):

   count = {}

   for x in sequence:

       if x in count:

           count[x]+=1

       else:

           count[x] = 1

   return count

---------------------

from collections import defaultdict

def get_count2(sequence):

   count = defaultdict(int)

   for x in count:

       count [x]+=1

   return count

这个是采用了标准库中的collection包的方法,defaultdict的意思是:

这里的defaultdict(function_factory)构建的是一个类似dictionary的对象,其中keys的值,自行确定赋值,但是values的类型,是function_factory的类实例,而且具有默认值。比如default(int)则创建一个类似dictionary对象,里面任何的values都是int的实例,而且就算是一个不存在的key, d[key] 也有一个默认值,这个默认值是int()的默认值0.

英文解释为:dict subclass that calls a factory functionto supply missing values。

提取键值对中前10个数:

def top_count(countsequence,n=10):

   value_key = [(key , value ) for value,key  in countsequence.items() ]

   value_key.sort()

   return value_key[-n:]

上述采用标准库中的collection.Counter可以更简单:

counts = Counter(get_count2(timezone)) #排序

print counts.most_common(10)#使用most_common方法提取前多少组


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:python 数据分析师 数据分析 分析师 collections 数据分析师 数据分析 Python

沙发
虎虎856 在职认证  发表于 2017-3-14 17:55:01 |只看作者 |坛友微信交流群
感谢楼主分享

使用道具

藤椅
kkkm_db 发表于 2017-3-15 05:13:38 |只看作者 |坛友微信交流群
谢谢分享

使用道具

板凳
franky_sas 发表于 2017-3-17 22:58:48 |只看作者 |坛友微信交流群

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-23 21:04