数据资讯
【来源:博客园】拼多多雪崩了吗?
  文/谭宵寒   来源:字母榜(ID:wujicaijing)   二季度财报发布当天,拼多多股价大跌 13% 多,质疑乃至恐慌呼啸而来:这会是一场大雪崩的开始吗?    字母榜深入研究了这份财报,谨慎认为,恐怕并非如此。   黄峥年初在 19 年 Q4 财报电话会议上说,“不要过高估计公司的用户增长速度,长期来看,也不要低估公司 ARPU 的增长潜力。”   这话放在拼多多股价飞涨、轻松翻倍的行情里,没人信前半句;放在二季度财报发布之后,大家又不信后半句。 黄峥   财报发布之前,拼多多市值达到 1000 亿美元,股价接近 100 美元, 如此体量的互联网公司,鲜有不处于稳定发展状态的。什么叫稳定发展状态,就是未来预期稳定,但增长不会像初创期那样狂飙突进。不管阿里还是亚马逊,在 GMV 达到拼多多如今的体量后,都没有实现过超出一倍的增长率。把现在的拼多多当做金矿,期望一个季度公司膨大一倍,这样的想法无论如何都称不上理性。   大基数、高增速、持续性是一个“不可能三角”,经历了一年多的高速增长后,对拼多多来说,受疫情困扰的一季度本来应该是个“软着陆”的好机会,但一季度 GMV 因为退货高导致增长依然居高不下,这迎合了市场预期,但显然透支了拼多多股价的增长空间。   以拼多多目前的体量来看,降速是意料中事,也只有降速才符合逻辑,问题只是何时降临。   财报发布前一个交易日收盘时,拼多多股价距离年初低点已经上涨了 2 倍,获利盘巨大,风向有所改变,获利盘跑得比谁都快。财报一发,抢跑开始。   当然,二季度财报也暴露了拼多多的问题,比如 ARPU 环比增长停滞。但从整体来看,拼多多仍然处在健康高速——而非超速——发展的轨道当中。财报显示,拼多多月活跃用户为 5.688 亿,同比增长 55%,年活跃买家数为 6.832 亿,同比增长 2 亿人,比上季度增加 5510 万人。而且拼多多账上还有接近 500 亿元,哪怕 GMV 增速这样引起股价暴跌的“元凶”,其实也达到了 79%。如此亮眼的成绩单居然导致公司市值蒸发 150 亿,只能说市场对拼多多的期望实在是太高了。   接下来几个季度,关于拼多多,比起 GMV 和营收数字,有更需要关注的问题。   第一、 平台大额补贴高客单价低频商品换来的新用户是否有持续性的消费行为?   第二、 品类扩张以及相应的商品扩张如何进行、是否顺利?    A   拼多多财报发布后出现的股价大跌,显然是由于财报数据与市场预期发生偏差。    1、GMV 增速放缓   19 年 Q2 是拼多多创造增长惊喜的开始。拼多多上市后的 2018Q2-2019Q1,GMV、年活跃卖家、ARPU/年都出现了持续的增速放缓,但 19 年 Q2 百亿补贴等 618 战略扭转了趋势。   一二线城市用户数的增长与下沉市场红利被逐渐释放劣势抵消,此后几个季度,活跃买家数实现了 40% 左右的稳定增速;ARPU 则在 2019Q2 则出现增速反转。   19Q2 是年活跃买家和 ARPU 的增长双击,19Q3-20Q1 百亿补贴战略的持续性维持了年活跃买家增速,但 ARPU 一侧未有足够惊喜。   可以这样理解,19 年 Q2 带领拼多多进入了一个新的速度赛道,其后三个季度是在高速车道上行驶,但未能带领拼多多进入下一个级别的速度赛道,当 ARPU 出现大级别的增速回落,拼多多被暴露在退回到原本增速赛道的风险之中,市场就要调整预期、估值偏差。   拼多多另一个隐藏风险是,年活跃买家继续向阿里靠近,而阿里被视为电商市场的第一层天花板。二季度,阿里国内零售市场年活跃用户为 7.42 亿,单季度增长 1600 万;拼多多同期数据是 6.832 亿,单季度增长 6010 万,高用户基数下能否继续维持年活跃买家同比 40% 的增长是存疑的。   拼多多 ARPU 同比增速放缓、环比滞涨,可以从三个维度进行分析。   一是特殊原因。7 月中旬,拼多多曾回应过 GMV 注水质疑,今年 Q1,受疫情影响,因缺乏履约能力而取消订单或未交货的情况要高于正常水平,无论商品是实际出售、交付还是退货都会被计入 GMV。   这种特殊原因使得拼多多一季度已经出现的 ARPU 增长放缓问题在一定程度上被掩盖;二季度避风港消失,问题出现。   二是竞争形势。二季度,拼多多的竞争者阿里、京东加大了对电子产品的补贴力度,意味着拼多多在这一战场的投入产出比已经被极大稀释,想尝到甜头所需付出的代价更高。 陈磊   拼多多新任 CEO 陈磊也提及了另一市场形势的变化——经济恢复,消费行为逐渐恢复活跃,但消费者在花钱方面,还是比较谨慎,“在我们的平台上,他们购买了更多的日用品,快销品和农产品。”言下之意,用户对高客单价商品需求下降。   拼多多选择避开巨头锋芒,人无我有,人有我走。“竞争对手在电子产品方面推广力度特别大,公司看到日用品对留存用户起到了很好的作用,且日用品购买频率高于电子产品,所以我们选择了不同投入策略。”拼多多财务副总裁马靖说。   高频商品补贴给 ARPU 带来的增长势能是逐渐削弱的,这一策略选择使得高客单价低频商品为 ARPU 做出的贡献率继续降低。   三是平台大额补贴高客单价低频商品换来的新用户持续性消费水平,这也是最关键的一点。   电商从业者微博 ID“风中以食品日化为主厂长”这样描述快销品——快销品是高频消费品类,特点是市场大、消耗快、流通性强,渠道渗透广。这类日用品虽然客单价低,但消费频次高,如果平台对电子产品的补贴预算平移到日用品,ARPU 增速本不应有大波动的环比放缓数据出现。   之所以有这样的结果,一是市场营销费用减少,二季度拼多多销售与营销开支为 91.136 亿元,同比增长 49%,增速与一季度持平,与此前几个季度相比大大放缓,拼多多高管提及,这是管理层刻意为之。   二是补贴日用品就像是把水倒进漏洞的袋子,随时存在流量外泄的可能。高客单价的电子商品购物是一次性的,购买行为完成,用户短期内无相关需求,用户单类目的消费需求在单一平台被完全释放;但日用品不同,用户享受补贴、完成购买后,当再次出现该类目商品购买需求时,用户可能会流向其他电商,平台很难通过一次补贴实现消费者购买行为的全年绑定,特别是对拼多多这样受“二选一”限制、品牌标签所困,品牌商品 SKU 有限的平台来说。   以往拼多多对提高日用品购买频次的策略是间接的,以低频打高频,希望大额补贴高客单价换来的用户自动向高频购买日用品流动,现在拼多多策略变得直接,直接补贴日用品提高用户购买频次。   与拼多多以“准、猛”风格补贴高客单价电子商品给 ARPU 带来立竿见影的效果不同,补贴日用品偏于细水长流,当补贴换挡到日用品,ARPU 恐怕就要承受增速阵痛。   阿里今年一季度的年活用户是 7.26 亿,GMV6.589 万亿元,得出的 ARPU/年是 9075 元。这也是失望情绪弥漫的原因,相对于阿里的 ARPU,拼多多距离还非常远,ARPU 在山腰便放缓的信号并不能让人安心。这一策略对 ARPU 贡献几何,就是接下来几个季度要重点观察的。    2、营收增速无惊喜   比起用户数和 GMV,市场对拼多多营收情况的关注要小的多。除了一季度因疫情原因,商家减少广告投放,拼多多的货币化率一直相对稳定,使得营收增速的问题终究还是 GMV 的问题。   二季度,拼多多全年货币化率有所提升,这得益于广告业务的恢复。如马靖所言,商家在一季度缩减广告开支使得他们在二季度拥有更多的广告预算,并急于挽回一季度损失,消费端的恢复、平台广告工具效率的提高同时提高了投资回报率,多重因素作用使得广告业务快速恢复。   这一逻辑也可以从侧面解释,广告业务更成熟的阿里,在二季度得以快速恢复。   不过正如拼多多管理层反复强调,营收转化率不是公司关注的关键业绩表现指标,留住用户才是。短期内,拼多多的营收、盈利可能都无法带来市场太大惊喜。    3、增速放缓出现在盈利前   拼多多 GMV79% 同比增长、营收 67% 的同比增长放在其他电商平台身上都是值得股价大涨的成绩,二季度,阿里和京东的营收分别同比增长 34% 和 33.8%,但同时,阿里、京东的净利润同比增幅分别为 40% 和 66.1%。   阿里发布财报后的两个交易日股价波动不大,京东发布财报后的五个交易日股价上涨约 20%。   拼多多二季度亏损大幅收窄,非美国通用会计准则下,拼多多净亏损为人民币 7720 万元,2019Q2-2020Q1 净亏损分别为 4.113 亿元、16.604 亿元、8.15 亿元、31.7 亿元。然而,市场看待几家电商的维度不同:衡量阿里和京东的标准是盈利,而衡量拼多多的维度却是增长。    另外,值得观察的是,拼多多亏损收窄是因为营收的大幅增长,还是因为某项成本的下降。   拼多多的运营开支主要有销售与营销开支、总务与行政开支、研发开支,总务与行政开支占比较小且增速稳定,研发开始增速较快但金额也不高,二季度,这三项开支分别为 91.136 亿元、3.948 亿元、16.624 亿元。   拼多多二季度亏损收窄则是由于营销开支增速持续低于营收增速,又无一季度疫情原因导致的营业成本占比的陡升。   这一问题又回到了投资者们最关心的问题,当补贴减少,拼多多是否还能维持以往增速。虽然拼多多连续两个季度放缓了营销支出,但年活跃买家增速并未放缓,关于营销支出对 GMV 拉动贡献势能降低,上文已经分析过原因,这是需要拼多多接下来证明的。    4、企业价值观面临考验   特斯拉事件中,拼多多替用户支付购车款、派小二回应特斯拉专员、换城市给用户提车,每一步都程序正义,但能让外界明显感觉到经营者操作策略相当灵活。    当拼多多财报与预期有所偏离 ,就很容易让外界据此与此前外界质疑拼多多 GMV 造假、用户增长根基不稳等负面清单产生联系。   不过换个角度想,如果不是经营思路活泛,拼多多也不可能从阿里、京东的包围圈中突围,微信里也就长出了这么一个拼多多。    B   市场首先要做的是对拼多多调整预期,这已经是一头大象,而非猎豹。   雪球用户@愚钝博士做了一个简单计算。“假设拼多多可以在三年内实现阿里大约一半的 GMV,也就是 3 万亿。这意味着从 Q2 起,拼多多的 GMV 连续三年复合增速不低于 33%,似乎不难实现。3 年之后,货币化率3%,对应 900 亿年收入。假设 30% 的净利润率和 35 倍 PE,那么 3 年后的合理市值是 9450 亿,而拼多多在周四收盘后(财报前)的市值已经高达 8134 亿。这意味着,从这周四到三年后的合理估值,拼多多投资者的年复合收益只有5%。要注意这里的估算是建立在 30% 净利润率的假设上,而拼多多现在仍然是一家亏损的公司。至于兑现高额的净利润率,是否会影响 GMV 的快速成长,还是一个有待验证的问题。”   如前分析,拼多多 GMV 接下来高速增长关键在于 ARPU 增长,ARPU 增长的关键又在于非高客单价、高频商品的购买率,决定拼多多老用户提高购买频次的原因又有其二,一是在拼多多购买高频日用品心智的养成,二是品类、品牌及品牌商品 SKU 的补充。   部分拼多多用户尤其是月卡、年卡用户,对拼多多有忠诚度,但购买频次依旧有限的原因是,拼多多未能供给这部分用户在天猫存在的购买需求,比如服饰品类——2019 年天猫双 11 销售额前 10 名的品牌,目前几乎都未在拼多多上开旗舰店。   关于提高用户购买频次的第一点,拼多多的策略已经非常明确,以百亿补贴和万人团培养用户心智。但第二点尤为艰难,这也是拼多多提高品牌质感,低佣金和开放态度不断向品牌示好的原因。   品牌类别根据拼多多在行业竞争优势情况又可以分为两种,一种是优势类目,一种是劣势类目。   在日用品、农产品类目,拼多多的 GMV 拓展要相对轻松,一是农产品本就是拼多多的基本盘,二是拥有模式上的优势。“风中的厂长”在微博上提到,“商家再强大也拼不过平台,一些高频消费的大类目,比如日用品蔬菜生鲜,平台也自己进场了,既做运动员又当裁判。”相对而言,无自营业务的拼多多争夺日用品商家上,就多了这一条优势。   在服饰、化妆品等非优势类目的拓展上,拼多多需付出的努力更多,对快销品类目,拼多多可以通过新品牌计划等方式扶持出新品牌,但在服饰、化妆品这样品牌竞争优势明显的类目,新品牌计划能发挥的作用有限。   服饰品类并非拼多多擅长领域,但依旧是贡献 GMV 的主力军。拼多多管理层一季度财报电话会议上曾提及,一季度各品类商品的销售占比跟以往没有很大区别,贡献最大的依然是服装和快销品。   在行业认知中,天猫和淘宝在服饰类目拥有强势话语权,刘强东曾在 2016 年 618 喊出“服装五年成为京东第一大品类”的口号,但被阿里以凌厉的二选一战略打趴,服饰类目至今未能雄起,拼多多在这些非优势类目的拓展就是接下来几个季度要重点关注的问题。
互联网
2020-08-25 09:13:00
图丨合影留念 10月25日,由《数据猿》主办的“2017金融科技数据驱动金融商业裂变价值峰会”在北京悠唐皇冠假日酒店举行。本届峰会从数据智能的角度,聚焦 “数据如何驱动金融商业裂变”,从消费金融、供应链金融以及金融前沿科技三大角度深入探索数据智能为金融领域带来的变革。 「金猿奖」是由数据猿发起并创办,凭借 大数据 垂直行业媒体的独特视角和优势,针对大数据垂直行业的文章、案例、产品、人物等设置的奖项。峰会前期,数据猿邀请了 金融大数据 领域内优秀企业及领军人物、投资人、业界专家学者,共同以“大数据在金融领域的商业价值探索”为主题进行了约稿、案例、产品征集。 经过2个月的时间,数据猿专栏收到了大量的企业高层文章,经过内部筛选选出了20篇稿件,再交由业内专家组成的评审团进行科学系统地评定,最终选出了10篇金融科技优秀文章。大佬们的真知灼见将为金融科技行业的健康、有序发展添砖加瓦。会上,“金猿奖2017金融科技优秀征文奖”获奖名单正式公布(排名不分先后): 天创信用CRO张宇《借鉴美国数据驱动理念,实现中国消费金融弯道超车》 在互联网信息发达的时代,智能手机的普及、大数据的产生与机器学习的应用,仅仅是提供了更多的数据渠道,加快了模型迭代的速度与产生多维的用户画像,但金融的本质即“不同主体之间通过价格发现来实现跨时空的价值交换”并没有改变。天创信用CRO张宇在文章中指出,要透过现象看本质,开展业务时秉承着消费金融每个环节的根本,从风险、成本、收益等基础角度去思考。切实体会到基于数据驱动的消费金融业务管理必须遵守以下“五大原则”:风险收益平衡原则、未雨绸缪的业务规划原则、通过概率进行管理原则、通过指标体系管理原则和权责清晰的风险管理原则。 百分点集团技术副总裁兼首席架构师刘译璟《未来银行,将会颠覆一切》 到了DT时代,整个思路在转变。金融行业从业者面对的不再是单一的业务,而是整个现实世界,如何来做?刘译璟说:“要通过一些数据化的手段把这些现实世界转换到数据世界里面去。这时候,需要建立现实世界的数学模型,在这个数学模型之上再去建立一个新的业务系统,这个业务系统透过数据世界就能了解现实的情况,从而自主地做出决策。” 聚信立数据科学家甘建铃《孙子兵法之庙算篇》 孙子兵法特别强调要“未战而庙算”,即在“未战”前举行会议,分析客观和主观的条件,制定计划;企业目标是否正确,是否符合市场和自身实际;对项目精打细算,选择有利的环境、适度的规模; 数据分析 相关人员是否专业,是否严谨,是否有足够的执行力;业务流程是否打通,各部门职责是否明确;管理者在调动资源上是否有足够的推动力;如果项目不顺利,是否有相应的应对策略或备用的方案…… 甘建铃认为,凡此种种,是企业想要依靠数据分析来降低成本、提高效率、开发新产品、开拓新市场等等所不得不考虑的。“未战”而庙算胜,成功指日可待,“未战”而庙算不胜,失败则成定局。 诸葛io 产品vp 于晓松《「场景化」增长的践行者 ——探寻大数据时代的商业变革》 随着大数据技术和认识的不断发展,越来越多的人也开始意识到,数据作为一种生产资料,如果不积极探索它、利用它、分析它,那么数据就如同沉睡的“金矿”,真正的价值无法体现出来。在文章中,于晓松指出,对于一个企业来说,对内需要通过大数据优化企业信息化系统,优化成本结构;对外需要通过大数据减少客户流失,增加高价值客户。因此,以用户为中心,深挖行为数据、设定核心指标、梳理业务流程,最终用数据发现问题、驱动决策,这才是大数据应该产生的真正价值。 易日升总裁史建伟《大数据风控模型在消费金融场景下的六大应用》 对于大数据在贷后监控怎么去运用?史建伟认为重点是看几个方面,第一基于非标场景,实时跟进合作伙伴的经营状况是否会有异常波动。同时还要对个体进行跟踪,例如他原先的几个月可能有一个相对比较固定的行为,突然之间行为中断了一段时间,系统就会把它筛出来重点关注。 史建伟在文章中特别强调:“最后在整个催收环节,最坏的催收情况就是失联。所以大数据在催收这个领域的运用就是修复失联的状况。通过我们原先收集的众多的数据,通过我们在市场中能接触到的众多的数据,通过他周围的关系圈、社交圈,一步步修复失联对象的信息,最终找到他。” 达观数据创始人兼CEO陈运文《算法技术剖析海量数据,数据价值驱动企业收益》 金融行业是一个极其注重用户数据隐私的行业,用户数据的流失也意味这用户信任的流失,所以金融企业除却自我技术研发外,在选择利用第三方技术时,如何兼顾数据的可用性和私密性也是重中之重,所以选择技术优良且值得信任第三方这一事项不容忽视。 陈运文指出,在数据不断增加和算法技术日益优良的并行时代,借助技术去挖掘数据蕴藏的价值,利用数据蕴藏的价值去驱动企业的运营和发展,这是技术、数据、企业收益三者之间的良性循环,各个行业均如此,金融行业亦不能免俗。 东方金信CEO 王伟哲《金融大数据将推进全社会的诚信建设》 王伟哲认为,国内的金融行业、运营商行业,是较早使用大数据技术的行业。金融大数据的优势在于帮助客户降低运营成本,提升科学决策效率。一个金融大数据项目往往涉及的内容很多,包含平台产品、大数据技术、数据建模和业务理解等,功能全面、性能稳定,是金融大数据平台的基础性要求。 安华金和 CTO、技术副总裁杨海峰《金融行业数据实时共享场景下的动态脱敏技术》 目前,脱敏技术中的静态脱敏技术常见于银行等金融领域。静态脱敏技术的应用,其价值在于打造一份全新的、“高度仿真”的数据库,供非安全环境下使用。凭借着低门槛、易部署等特性,静态脱敏技术率先被用户所接受。杨海峰表示,在近两年,这种数据处理方式先后被银行、证券、保险、社保等行业所采纳,已经成为数据共享中的重要工具。 亚信数据CTO於今 &亚信数据硅谷 人工智能 研发中心主任常剑 《机器学习引领智慧金融,变革万亿规模实时支付风控模式》 於今 、常剑表示,实时金融欺诈检测系统主要提供了4个方面的能力:首先,引入数据驱动的风控模型,以机器学习为基础,科学设定反欺诈规则,实现从数据到业务语言以及机器代码的转化。其次,实现了包括电子、手机、网银等多渠道的全面数据接入,提供完善的欺诈案件记录和处置的功能,填补事中风险管控工作的空白。第三,系统提供了优化的交易风险处置,通过量化风险,触发不同级别的防控策略,优化系统效果和用户体验。最后,可以提供全面的报表和分析功能,实时监控全局的风险情况,以便掌握信息。 能金云总裁许瀚丹《能金云:利用大数据 构建金融风险防控体系》 文中,许瀚丹介绍到,能金云绿色资产风控平台的数据支持来自独立打造的DPEN数据平台,DPEN取自于Data Platform of Eco Network,是数据、信息和互联网三者的集合。DPEN具有强大数据处理能力,支持数千万个采集节点,源源不断的数据汇聚到DPEN后,被数据库接收,形成模型供后续比较研究。数据不仅反映机器的运行状况,也计算出机器运行的最优方案。正是基于Dpen的分析、预测、预防、校正能力,企业资产运营会更加智慧。DPEN的强大之处就在于它的可预防性,通过实时数据监控及时调整防患未然,这也是利用大数据力量防范金融风险价值所在、优势所在、智慧所在。 本文由 数据猿 投稿至 数据分析网 并经编辑发表,内容观点不代表本站立场,如转载请联系原作者,本文链接:https://www.afenxi.com/48677.html 。
数据分析
2017-10-27 04:05:00
  文/港股频道   来源:节点财经(ID:jiedian2018)   近日,腾讯控股和旗下的阅文集团相继发布了 2020 年中期报告,业绩可谓“冰火两重天”。   腾讯控股以总收入 2229.48 亿元,同比增速 28%,净利润 572.32 亿元,同比增速 29%,再度引发市场热议,也继续印证着强者恒强的定律。另一边,阅文集团则没有这么幸运,受累于新丽传媒商誉和商标权减值,以上半年巨亏 33.1 亿元,净利润同比下降 941.9%,同样让市场吃了一惊。   透过财报 ,我们来看看问题究竟出在了哪里?    / 01 /    巨亏 33 亿元    阅文交出上市以来最差”成绩单”   2020 年1-6 月,阅文集团实现营业收入为 32.6 亿元,较上年同期增长 9.7%;毛利润 17.3 亿元,较上年同期增长 6.8%。 数据来源:阅文集团历年财报   按照业务板块划分,在线业务、版权运营及其他仍为主要收入来源。   其中,由于分销渠道扩张叠加疫情下用户对阅读内容的付费意愿增加,在线业务收入同比大幅增长 50.1% 至 24.95 亿元,占比提升至 76.5%;而此前不断上行的版权运营业务则受制于上半年影视行业前所未及的困境,收入同比大幅下降 41.5% 至 7.6 亿,占比从 44% 跌至 23.5%。   同时期,阅文集团的自有平台获得了一定增长。其自有平台产品及自营渠道的平均月活跃用户同比增加 7.5% 至 2.33 亿人,其中,自有平台产品的月活跃用户同比增加 16.1% 至 1.34 亿人,但由于若干腾讯产品的付费阅读内容用户减少,并被免费阅读内容带来的用户增加所部分抵销,腾讯产品自营渠道的月活跃用户同比减少 2.3% 至 99.2 百万人。   另外,受益于上半年集团加强了内容的深度运营、优化了推荐的体系以及扩张了内容分发的渠道,每名付费用户平均每月收入由 22.5 元同比增加 51.6% 至 34.1 元,付费比率和 2019 年持平,维持在 4.5%。   值得注意的是,阅文集团的月活用户自 2018 年起便维持在 2 亿人左右,2019 年为 2.197 亿人,从数据增长趋势来看,反映出其用户增长进入了瓶颈期,或可预料未来营收规模有停滞的可能。 数据来源:阅文集团历年财报   同时,用户付费比例亦呈下滑状,由 2018 年的 5.1% 降至 4.5%,以价值链条而言,最终端的变现没能与用户增加成正比。   整体来看,尽管上半年宏观经济形势严峻,阅文集团在营收上依然保持了一贯稳定,但在利润方面,阅文集团却交出了上市三年以来最差“成绩单”,净亏损 33 亿元,也是上市以来首度亏损。 数据来源:阅文集团历年财报   据财报披露的信息,亏损主要系收购标的新丽传媒业绩不达标,致使商誉及商标减值达到 44 亿元。细看的话,如果不算收购新丽传媒的公允价值收益 12 亿元,“其它亏损”项及集团净亏的数据会更低。   此外,还有一项 1.98 亿元的金融资产减值亏损,属于“应收账款的坏账拨备”,财报中给到的描述是“主要与电视与电影项目有关”,这也从侧面反映出影视行业的萧条对阅文业绩的影响之深。   对于这样一份业绩报告,腾讯集团副总裁、阅文首席执行官程武难掩失望,在财报会议中表示,“2020 年上半年对阅文而言充满了挑战,令人失望的业绩表现也让我们意识到公司底层商业模式抗风险能力的缺失和沉积数年的结构性问题。我们将积极面对这些问题,并已在影响核心业务的一些紧急事态上做出了快速回应。”   资本市场,于财报发布次日的 8 月 12 日,阅文集团股价收跌 9.49%。    / 02 /    寄予厚望的新丽传媒    为何难以实现协同?   收购新丽传媒,阅文集团的本意是借“新丽传媒在电影、电视剧和网络剧方面取得的斐然成绩”,全面掌控 IP 改编过程,在网文 IP 影视化方面有所突破。   事实上,在双方过往的尝试中,曾打造出过《芝麻胡同》、《精英律师》、《庆余年》等多部爆款剧集,尤其是 2019 年的大火的《庆余年》,在第 26 届上海电视节白玉兰奖上一举斩获最佳编剧(改编)和最佳男配角共两项大奖,被阅文集团视为头部 IP 改编影视剧的优秀范例。   然而,在业绩上新丽传媒却难以兑现承诺。据双方当时签订的对赌协议,新丽传媒需要在 2018、2019、2020 年完成净利润不低于 5 亿元、7 亿元和 9 亿元。   但之后,影视行业各种“黑天鹅”出没,新丽传媒步步艰难,2018 年录得净利润 3.24 亿元,2019 年为 5.49 亿元,仅为对赌承诺目标的 64.8% 和 78.43%。   总之,无论是业绩还是网文 IP 影视化的愿景,双方距离真正的协同似乎都有一段距离。   至于原因,阅文集团方面坦言:“由于缺乏一个既熟悉网络文学业务、也熟悉影视制作的团队来系统协调统筹,阅文与新丽传媒的整合远未取得全面成功,且进度不及预期”。   这点从 4 月底阅文集团的新旧管理层更迭,联席首席执行官吴文辉辞任管理职务,腾讯集团副总裁、腾讯影业 CEO 程武出任阅文集团 CEO 和执行董事,腾讯平台与内容事业群副总裁侯晓楠出任阅文集团总裁和执行董事或可见端倪。   另一方面,阅文起家于网络文学,本身不善于 IP 开发及改编,而买来的新丽传媒虽然精于制作却难免“南橘北枳”。   在补税风波、片酬限制等事件后,影视行业进入深度调整期,网络影视市场激烈逐鹿,以及今年疫情冲击,掌握着话语权的阅文都很难拿出一种机制和自上而下的规划来推动构建以 IP 为中心的内容和运营策略,自然也无法促进新丽传媒乃至横跨各个内容形态的开发制作以最大化 IP 的生命周期价值,更谈不上深度整合。   总体而言,当年备受期待的“阅文+新丽”双向互补,1+1>2 的“溢出效应”,至今还存留在市场的“意念”中。    / 03 /    阅文难“悦”    如何走出困局?   付费 or 免费之争,近年来一直在网文界暗流涌动,虽然付费占据主流,但自 2019 年起,“免费阅读”模式异军突起。   据《中国移动互联网 2019 半年大报告》显示,2019 上半年,月活超过 300 万人次的免费阅读平台同比增长 160%,数量规模占比达到了 61.9%。实力强劲者如爱奇艺阅读、连尚免费读书、米读小说、番茄小说等以摧枯拉朽之势,引发了整个行业的震荡和关注,也撼动了看似已经稳固的付费阅读模式。   在此背景下,阅文集团推出免费阅读 App“飞读”,作为付费阅读产品的补充,更像一款防御性产品。不过,因内容多为老旧书,热度低的小众书,“飞读”市场反馈一般,其整体表现与阅文集团的网络文学龙头地位并不匹配。   随着免费阅读平台的崛起,付费阅读平台将面临市场份额被瓜分,流量被抢食的风险,同时又要和短视频、游戏争夺用户时间,如何保证核心在线阅读业务将是阅文面临的首要挑战。   内容端,上半年在网络上闹得沸沸扬扬的“五五断更节”事件,充分暴露出阅文集团在过去和作者之间利益分配不清晰等历史问题。   网文行业发展到今天,“蛋糕”越来越大,入局者也越来越多,但根基仍是创作者。截至 2020 年 6 月 30 日,阅文平台拥有 890 万作者,1340 万部作品。根据百度搜索风云榜,排名前 30 部的网文中,25 部来自于阅文平台。 数据来源:阅文集团历年财报   如何构建双方合理的发展模式、生态规则及权益规范,保障创作者的对等权益,激发创作者的热情,是阅文集团能否在行业内继续引领的前提。   另一方面,作为中国最大的网络文学平台,如今的阅文早已不是一个单纯的网文阅读或分发平台,凭借着平台大量创作者和品牌 IP,通过对影视、动画、游戏等的深度开发,加大在内容上下游联动上的协作力度,阅文意欲形成一个更加高效的 IP 生态系统,包括小说、漫画、动画、游戏、影视剧、周边等各方场景。   目前来看,除了小说、影视剧,阅文在其他生态系统上建设上明显不足。   针对 IP 生态建设,此次管理层在电话会议上透出,将从三个方面入手,强化以 IP 为中心的生态系统。   增强 IP 孵化能力、加快跨业态开发来推动 IP 更快成长;与合作伙伴建立广泛的业务合作伙伴关系和网络,将高质量 IP 转化成包括漫画、动画、电视剧、电影和游戏等在内的各种娱乐形式,推动 IP 价值最大化;进一步实现阅文与腾讯动漫、影视、游戏等业务的融合,推动 IP 开发走向产业化。   无论如何,当下的阅文的确面临着上市以来最大的困境。好在,上半年已经过去,阅文也已认识到问题所在,接下来如何革除肌瘤,释放核心价值并扭转局势,下半年的表现尤为关键。
互联网
2020-08-25 09:00:00
工业大数据 应用平台“ 积梦智能 ”正式宣布完成2000万人民币天使轮融资,本轮融资由真格基金投资。 积梦智能创始人谢孟军表示,资金将主要用于团队建设、市场推广、技术交流、深度合作等方面。本轮融资对于积梦智能的发展意义重大——这意味着积梦智能得到了资本市场的认可,在获得了这笔数额巨大的天使轮融资后,积梦智能的未来有着无限可能。同时,通过融资,积梦智能可以扩大研发团队和市场团队的规模,让产品快速迭代和推广,在市场中占据有利地位。 “积梦智能”创始人谢孟军 真格基金董事总经理兼华东区负责人顾旻曼表示:“我觉得积梦做的方向正是智能制造这个大方向里的核心环节,如何使用先进的软硬件和流程管理,帮助企业更好的提高制造水平,从而能够达标承接更多高精尖的订单,同时实现更好的成本控制。” “积梦智能”是一家工业智能科技公司,致力于生产过程中的 大数据管理 和应用。通过监控制造生产中的设备状态、环境因素、人员情况、产品质量、工艺过程等,深度挖掘和系统分析这些数据,从而优化作业流程、提高设备能效、增加人均产能、提升产品质量。 其核心业务是 大数据 应用平台,通过集合工业互联网、云计算、大数据在生产制造全流程的应用,实现制造过程中的数字化控制、状态信息实时监测和自适应控制。 积梦智能自主研发的软硬件系统能够监测出人、设备、物料和产品间的最佳配比,通过数字工厂、大数据模型来展示,让管理者进行方向决策,让技术人员解决生产问题,让作业人员提升工作效率。 积梦智能的目标客户是整个制造业,现有客群包括汽车行业、电子元件、机械加工及标准件行业等,目前已成功应用于多家龙头企业。 例如某知名汽车企业,积梦智能平台已经应用于各个部门。积梦智能帮助该企业在其研发中心和各制造工厂中建立了包含激光测量、三坐标测量、白光测量和各类量检具等设备在内的完整质量监控和分析体系。 谢孟军指出:“目前工业大数据应用才刚起步,国内工厂的信息化工作存在缺陷,数据利用率很低,对于大数据的应用程度参差不齐。许多企业都停留在数据采集和管理阶段,而最关键的分析挖掘和展现方面却鲜有人涉足。积梦智能以“质量”为突破口,利用创始团队丰富的数字工厂模型积累,将非结构化的东西结构化,以此服务客户。” 积梦智能的团队也是阵容强大,8位核心成员均来自知名互联网企业和工业制造企业,如苹果、盛大、上汽、饿了么、七牛等,拥有非常丰富的智能生产线建设经验以及工业大 数据分析 经验。 谢孟军希望与团队一起将积梦智能打造为业内的领军者,以数据驱动生产。在未来几年内,积梦智能计划将主要龙头企业的制造数据全面接入工业大数据分析平台,并以该平台为基础,开发各种工业应用,实现数据驱动的生产模式,为企业提供数据和应用托管业务。 项目:积梦智能 公司:上海积梦智能科技有限公司 网址:jimeng.io 本文由 积梦智能 投稿至 数据分析网 并经编辑发表,内容观点不代表本站立场,如转载请联系原作者,本文链接:https://www.afenxi.com/48539.html 。
数据分析
2017-10-23 10:05:00
  一年前, 当双屏手机 Surface Duo 首次亮相时 ,微软的首期产品官 Panos Panay 就表示,这款设备基本已经定型,在 2020 年年底上市前都不会有太大变化。   我当时以为,Panay 所说的是「定型」指的是这款手机的外观,但未曾料到的是,在大半年后的今天,微软会原封不动地把它推向市场,并搭上了一个堪比苹果三星旗舰机的定价。   ▲ 微软的双屏手机 Surface Duo 将会在 9 月 10 号上市   最终,人们很可能会花一千美元的价格,买到一款足足落后主流手机配置近一年的产品。   它没法用上 5G 网络,因为 Surface Duo 搭载的还是去年的骁龙 855 芯片,还有像多摄、窄边框、高刷新率屏和高功率快充等,你也无法在这台手机上看到。   ▲ 图片来自: TechRadar   甚至连双屏本身也不算新鲜了,更早尝试过该设计的 LG、中兴等厂商, 均已有过沉沙折戟的经历 ,如今大家更愿意谈论的,是一整块不会被铰链分割,可以弯曲、对折的屏幕。   很多人对 Surface Duo 前景的不看好,主要也在于对配置的不满,以及对反常形态的质疑,更多人好奇的是,为什么微软要坚持开发这样一款产品,并有自信把它卖出去?    把手机变成生产力工具 「Surface Duo 是为那些热爱微软应用生态的 Surface 粉丝们服务的。」    这句话出自 Panos Panay 之口 ,作为 Surface Duo 的负责人,他对这款产品的定位和理解,应该是最有说服力的。   我们先搞清楚一个问题,什么是「微软应用生态」?   你可能会马上想到 Office、Windows 这类软件和系统服务,它们确实是微软最知名,也最具代表性的产品。如果你每天都要用 Excel 处理表格,拿 Word 编辑文档,或是在 PowerPoint 上制作演讲材料,那么已经或多或少地与微软生态产生一定的联系了。   ▲ 微软应用生态包含什么?Surface Duo 宣传视频里已经有所展示了   这还不止,如果你还会用 OneDrive 云盘存储文件,用 OneNote 记笔记,用 Outlook 收发邮件,甚至是一名 Xbox 玩家的话,那么微软生态对你的价值又会高上许多。   借助微软应用生态的粘性,来让用户认可 Surface Duo,是微软为这款手机找到的第一个核心卖点。   但我们依旧有理由怀疑它的存在价值。   ▲ Office 套件是微软的招牌应用,但它也兼容很多平台。图片来自:Microsoft   毕竟,微软生态是开放的,它不像 iOS、macOS 和硬件绑定,自然就不存在「你只有买我的设备,才能用上我的服务」这类门槛。   哪怕是你不购买 Surface Duo,只有手头上有任意一台 Android、iPhone 手机,依旧可以使用到微软的全套服务。   突破口其实还是在硬件上。既然微软无法改变它的软件开放策略,但在设备层面,微软却可以摒弃掉单屏手机在生产力应用上的先天不足,设计一个更有利于用户办公、商务的工具。   ▲ 在 Surface Duo 上使用 Outlook 处理邮件,充分利用了双屏的特性。图片来自:Microsoft   这也是 Surface Duo 的第二个核心,即利用双屏,来承载起自己的应用生态。微软希望利用这个设计,补足一个大部分手机、平板都没能做好,且大部分笔记本无法兼顾的空白领域:   移动生产力。   老实说,作为一家本身就是开发各种生产力软件的公司,这的确很像是微软会做的产品。   ▲ 跨应用的信息拖拽操作,一直是多任务处理的关键流程。图片来自:Microsoft   因为它非常的「Surface」化,以至于连微软列举的很多使用场景,都是和办公、商务等相关的,比如说利用两块屏幕来处理邮件、编写文档,还有在视频会议的同时调整 PPT 等,都是为了突出双屏形态之于生产力,之于多任务处理的优势。   你甚至很难看到和生产力无关的片段,哪怕 Surface Duo 运行的是 Android 系统,可以玩手机游戏,看视频,但这套配置决定了,它在这方面的表现并不会比其它 Android 旗舰机要出色。   唯独只有生产力,依靠双屏这个独特的形态,微软非常自信能在 Surface Duo 上提供一个远超其它移动设备的体验,进而和那些强调消费娱乐的智能手机区分开来。   或许从最开始,微软就对开发一款普通 Android 手机不感兴趣。   它只是想做一台更小巧的 Surface,一台只面向生产力用户的设备。    Surface 思维下的手机   Surface Duo 的面世和 Surface 有不少关系。按照 Panos Panay 的说法,早在微软推出 Surface Pro 4 和 Surface Book 时,他就已经设想了一款可以折叠,并能塞进口袋里的 Surface 设备。   剩下的就是如何实现的问题。   为了更好的迎合「生产力工具」的定位,微软选择了两块 5.6 英寸,但长宽比却是 4:3 的屏幕,而非现在主流全面屏手机的长条形设计。   ▲ 在视频会议的同时展示 PPT。图片来自:Microsoft   这在影音娱乐上可能体现不出优势,但从多任务处理的角度看,如果要更好地使用 Office 软件来编辑图表和文档,用触控笔记笔记,一块宽大的屏幕显然会更合适的选择,这也是 Surface Duo 专注于移动办公的明显特征。 ▲ Panos Panay 摊平、翻转、再合拢屏幕的这个过程,已经能说明 Surface Duo 与折叠屏手机的某些差异了   出于对轻薄和重量的考虑,微软还放弃了更新潮、更吸眼球的折叠屏,转而使用两块独立的屏幕,并由铰链所连接。   虽然在视觉上,这种分离式双屏并不如折叠屏那么惊艳和一体,但它在轻薄、翻折上的优势,也是现阶段折叠屏手机所无法比拟的。   在打开状态下,Surface Duo 仅为 4.8mm 厚,这其实比 iPad Pro 还要更薄一些;就算是两块屏幕合拢,厚度也没有超过 10mm,而且上下部分还能紧密地贴合在一起,而不用担心屏幕弯折的问题。   ▲ Surface Duo 使用的「双轴铰链」支持 360 度的旋转   另一个值得说的是它的铰链。借助来自 Surface 的经验,这次 Surface Duo 使用的「双轴铰链」结构,其实与二合一超极本十分相似。   它内部的互锁齿轮不仅支持 360 度的翻转,还可以让屏幕在任意一个角度固定住,且不会松动。   所以,如果你把机子完全对折,只留下一块屏幕,它的使用其实和其它手机一样,不管是点开新链接,还是应用内的界面跳转,都是在单屏下进行的。   ▲ 在一款应用里点击链接后,会自动启用另一块屏幕来打开浏览器   但在双屏并排的状态下,Surface Duo 则可以同时打开两款不同的应用,或是让一个应用横跨两块屏幕,但会对界面布局进行重构。   ▲ 横置设备后,屏幕下方可以当做键盘区   换成是需要大量录入文字的场景,你还可以将设备横置,变成类似于笔记本电脑的形态,此时下方的屏幕就会变成一整块虚拟键盘了。   ▲ Surface Duo 的不同使用模式。图片来自: Microsoft   两块屏幕,配合一根任意翻转的铰链,一款应用在 Surface Duo 上其实可以有 6-7 种不同的呈现方式。至于怎么体验才是最好的?则完全取决于用户的选择。    在手机和电脑之间,还会有 Surface Duo 的位置吗?   微软对 Surface Duo 是抱有期待的,但很奇怪的是,这种期待并非是让它卖出去多少台,或是占据了多少的市场份额,而在于让它作为一个「范式设备」,为传统笔记本厂商,甚至是竞争对手们提供了一种新的设计思路。 ▲ Surface 的影响力不是靠出货量和市占率带来的,它的价值,是为其它厂商带来一种新的 PC 设计思路   这就像当年 Surface 一样,它的铰链结构,它的键盘盖板设计,以及专注于生产力的定位,都对后续的很多产品带来了长远影响,但你却很难用数据去量化。   某种程度上,微软也希望在移动领域复制这样的成功,来验证双屏手机这个形态,在移动办公领域的可行性,让其它设备厂商也能为之效仿。   然而,在这个早已经被各种屏幕包围的时代,Surface Duo 会在我们的日常生活中扮演一个怎样的角色,微软似乎还没有想好。    微软 CEO 纳德拉在接受采访就说 ,Surface Duo 可以替代他的手机,但还不能替代 Surface 笔记本。他还觉得有人会同时带着手机和 Surface Duo 出门,那又是另外一种使用模式。 「时间会证明一切,我想第一批使用这款设备的用户,会比微软自己都更能告诉大家,它的真正定位,以及它所定义的产品类别。」   可以预见的是,第一代 Surface Duo 面向的市场注定不会很大。我能想到的也就是一些重度 Office 用户,或是 Surface 品牌的爱好者们,才会对这样的产品感兴趣。   而大部分人,则仍会以传统双屏手机的观点,或是小众玩物的心态,来理解和看待它。   想要扭转这个印象十分困难,一如苹果想要让 iPad 替代我们的下一台电脑一样。   题图来源: The Verge
互联网
2020-08-25 08:50:00
作者:刘燕 2014 年 11 月份,当警官 Lee DeBrabander 在长滩( Long Beach)缉毒队的 数据分析系统 Palantir 上标记一件机密案件时,他以为关键细节会被隐藏,并对未授权用户不可见。保密性是警察工作的重中之重——甚至事关生死。它通常涉及对证人、卧底警察的保护以及对下一步行动的保密。但不久之后,一位反团伙犯罪部门的警员,在调用与该案件相关的汽车牌照时,却同样能够读取所有与此相关的文件。 「你可以看下这个吗?」DeBrabander 在发给 Palantir 工程师的邮件中这样写道, 后来为了回应要求公开公众记录的要求,这封邮件由 Backchannel 媒体获得。 Palantir 是由支付服务 PayPal 联合创始人、技术投资人和川普支持者彼得·泰尔( Peter Thiel )投资。 Palantir 得以向全国的警察部门出售数据存储、分析和协作软件,是建立在其坚实的安全性之上。其官网显示,「 Palantir 的执法业务提供了强大的内置隐私保护和民权保护措施,包括细粒度的访问控制与先进的数据保留能力。」 然而, DeBrabander 的申诉过程并不容易。两周后,该敏感案件仍然可以被长滩警察局的其他侦探公开阅览。「我去了趟反团伙犯罪部门,并让他们再调用一次那个牌照,因为这些文件并没有被列入我们的保密组中,果然,那个牌照出现在了我们想要严密控制的那份报告里面,」他在一封给 Palantir 的电子邮件中抱怨道。四个月后,他的案件依旧对其他警员可见,而他还在给 Palantir 发送邮件寻求对方解决。 执法业务只是 Palantir 的一小部分业务, 它的主要客户包括军方客户、CIA 等情报机构、国土安全局和大型金融机构。在警察部门,Palantir 的工具现在被用来标记交通违规、假释违规及其它日常违规行为。但警察部门一些最敏感的工作也依赖于 Palantir 的保护。Palantir 的软件能够摄取和筛选横跨多个司法管辖区的百万条数字记录,识别链接和共享数据,以此来创建或侦破案件。 Palantir 所处理的数据的利用范围、类型、数量、留存度,以及前所未有的用户访问量,都引起了人们对隐私、公平、种族正义和公民权利的深切关注。但是直到现在,我们还不太清楚该系统是如何工作的、使用者是谁以及他们的问题是什么。并且, Palantir 自己以及它的许多警察部门客户也都不愿意谈论这些问题。 迄今为止最大的 Palantir 系统调查报告之一显示,Backchannel 公开了几十份来自美国各地警署的公开记录请求。当该公司开始向执法部门销售自己的产品时,就已经留下了文本痕迹。美国 50 个州都有公共记录法,允许公民访问地方和政府机构的合同、文件和电子邮件。通过这种方式就可以明白该公司在警察相关业务中的运作,但涉及国家安全的业务却无法知晓。 显而易见的是,利用 Palantir 的执法机构遇到了一系列问题,数据的暴露只是一个开始。在那些请求文件中,警察部门还指责 Palantir 公司抬高价格、软件难用、服务条款不透明以及「未完成产品交付」(那位长滩警官的电邮原话)。Palantir 可能会精简一些刑事调查的流程,但也可能会导致较高的成本,从而被转嫁到警察部队自身以及他们所服务的机构身上。 这些文件显示了 Palantir 如何将硅谷模式应用于国内执法领域:以硬件折扣和联邦补贴来吸引新客户,并让他们分享数据从而获得其他用户的数据访问权限。当有足够多的司法管辖区客户都加入到由警察部门、政府机构和数据库所组成的 Palantir 互联网络中时,最终形成的数据宝库就类似于一张付费访问社交网络——一个犯罪网络版的 Facebook,然后在公民几乎毫无知情的情况下,追踪公民的个人信息。 这就是 Palantir 暗中吞噬市场的来龙去脉,尽管 Backchannel 的调查报告揭露出很多问题,但它成功拿下了美国人口最多的州,接管了该州执法情报机构的订单,并将这一模式复制到其它州以及世界各地。 除了 Palantir 的内部人员,没有人确切知道美国有多少警察部门在使用它们的软件。纽约警方肯定是其客户,其它还有芝加哥库克县治安官员、弗吉尼亚州警察、在华盛顿特区大都会警局,以及犹他州的十几个执法机构。尽管外界请求很多,但 Palantir 拒绝任何内部人员接受采访,或对 Backchannel 的发现发表评论。 我们在长达数月的调查中获得了大量的公共合同和数据,可以描绘出一幅大致的公司发展图景。然而这些资料表明,仅加州就占据了大多数的部署业务——可能接近于目前 Palantir 的国内执法系统销售收入的 90%。 Palantir 的软件已经部署在洛杉矶警局(LAPD)、长滩警局(LBPD)以及加州伯班克县警局;萨克拉门托治安部、文图拉治安部和洛杉矶县治安部(LASD);国家公路巡逻队;由橙县、三藩市、硅谷、圣地亚哥和洛杉矶当地部门所运行的国土安全「融合中心(fusion centers)」。采购订单和发票信息显示,这些机构自 2009 年以来已经向 Palantir 支付了超过 5000 万美元。 洛杉矶是加州第一个部署 Palantir 的城市。2009 年,时任洛杉矶警局局长的 Bill Bratton 想要测试实时分析和 数据可视化 。「我们正在寻找一款工具来更好地实现警局即将推出的无线电通话系统的可视化,」时任队长现任洛杉矶警局局长的 Sean Malinowski 回忆道,「 Palantir 与我们合作完成一个实验,创建出了一款态势感知工具。」 该测试很快发展成一个调查分析平台,可以访问犯罪报告和车牌信息数据库。Bratton 甚至认为,Palantir 可能只是其很有发展前景的预测警务( predictive policing,即认为历史数据可以提供线索预测未来犯罪的可能发生地 )计划的一个工具。他让 Craig Uchida 拟定了一个计划,后者是数据驱动治安领域的一名顾问兼研究员。 「在洛杉矶,我们开始思考数据在暴力犯罪领域的用途,分析一下犯罪的发生地点以及原因,」Uchida 说,「 2009 年,洛杉矶警局没有真正关注于使用数据来达到那些目的。他们有大量的数据,像所有其他的警察部门一样,但是他们并没有关注于如何使用它以及使用它来做什么。」 Uchida 热衷于热点警务( hotspot policing ):部署警员骑自行车或步行到动乱地区,以缓解紧张局势并将潜在犯罪扼杀于萌芽状态。他提出了一个名为「激光(Laser)」的计划,该计划将处理六年以来的犯罪数据,从而确定该城市的枪支犯罪高发区域。那些被编号为「激光区(Laser Zones)」的地带和社区,将进行定期、公开的巡视。 最终被圈定的是牛顿区:洛杉矶南部九平方英里的土地,是 40 多个帮派的聚集地。牛顿区的枪支犯罪恶名昭著,被人们戏称为「枪击牛顿」,还成了 Jake Gyllenhaal 导演的警察电影《End of Watch》的故事发生地。2011 年,就在「激光计划」开始前,牛顿区的枪支暴力程度在洛杉矶 21 个区中排名第 3。 本文采用「CC BY-SA 4.0 CN」协议转载自互联网、仅供学习交流,内容版权归原作者所有,如涉作品、版权和其他问题请给「 我们 」留言处理。
数据分析
2017-10-22 11:06:00
10月18日报道,Google大脑项目联合创始人、前 百度 首席科学家 吴恩达 将出任 Woebot 公司新任董事长,该公司拥有一款同名聊天机器人。这款机器人旨在利用源于认知行为疗法的技术,帮助人们解决他们的心理健康问题。该疗法通过制定个性化的应对策略,帮助患有抑郁症和焦虑等精神疾病的用户管理自己的情绪。 据斯坦福大学的研究显示,在使用Woebot聊天机器人两周后,用户的抑郁和焦虑症状有所减轻。吴恩达认为, 机器学习 技术能够为精神健康领域带来极大的福祉,因此他才决定与Woebot合作。据吴恩达在接受采访时称,在出任Woebot董事长后,他仍将从事其他项目。他将仅参与董事会工作,并为Woebot提供支持,而非在该公司担任全职工作。例如,他将继续在自己联合创立的在线学习网站Coursera教授深度学习系列课程。 在辞去百度机器学习项目主管的职位后,医疗保健成为了吴恩达目前工作的重点。今年早些时候,与他合作的一个斯坦福大学研团队发布报告称,他们已经训练出一个机器学习系统,能够比心脏病专家更精确地解读心电图。 本文采用「CC BY-SA 4.0 CN」协议转载自互联网、仅供学习交流,内容版权归原作者所有,如涉作品、版权和其他问题请给「 我们 」留言处理。
数据分析
2017-10-20 09:38:00
  通过对 AWS 披露的薪资和职位分析后发现,不算股票奖励和奖金,亚马逊庞大的云计算业务部门工作经验仅一年的员工最多可以拿到 185000 美元。   美国公司现有或潜在的外国劳工申请H-1B 签证时必须披露薪资。外国劳工认证办公室每年都会公布薪资数据。通过分析找出 AWS 内薪资最高的岗位,并利用职位发布找出有关职位的更多信息,包括主要职责以及需要多少年的经验。   虽然 AWS 的基本薪资似乎不如亚马逊的整体薪资那么高,但值得一提的是,数据不包括股票和奖金,而股票和奖金是 AWS 薪酬的大头。   Levels.fyi 是在岗工程师提交工资和总薪资的网站,它显示股票和奖金在 AWS 工程师的年度薪酬中占大头,尤其是级别较高的工程师。   比如说,该网站列出一名首席软件开发工程师的平均年薪是 162000 美元,但平均总薪资达到 552000 美元,包括每年 333000 美元的股票收益和 57000 美元的奖金。   通过分析 2020 年亚马逊云计算部门近 700 份有效的外国劳工签证,查找薪水最高的职衔,并给出了每个岗位的薪资范围。当然,由于数据只包括美国以外员工,这并非全面地介绍薪水,但罕见地披露了这个云巨头向员工支付多少薪水。   以下是薪资范围高位数达 185000 美元的 10 个 AWS 岗位以及谋得这些岗位所需的条件:    软件开发工程师 III 年薪:146300 美元至 185000 美元(101 万~128 万人民币)   主要职责:软件开发工程师 III 是 AWS 中级别最高的工程岗位之一,仅次于“首席软件开发工程师”。联邦数据中仅为首席软件开发工程师列出了 160000 美元这一份年薪,但该岗位很可能通过股票奖励和奖金获得高得多的年薪。   需要几年的经验:至少四年的软件开发经验。   其他级别的工程岗位的薪水和所需经验: 软件开发工程师I: 年薪在 93184 美元至 160000 美元。入门级,但要求熟悉至少一种现代编程语言。 软件开发工程师 II: 年薪在 114800 美元至 182000 美元。至少两年的非实习软件开发经验。 首席软件工程师: 年薪 160000 美元(联邦数据中仅列出了一份年薪)。至少 10 年的工程经验。    软件开发经理 III 年薪:142300 美元至 185000 美元(98 万~128 万人民币)   主要职责:“您将负责领导一个多职能部门团队来设计、开发、测试和部署新的功能和产品。您还将负责招聘和培养一流人才,并为团队制定战略愿景。”   需要几年的经验:至少十年的专业软件开发和工程管理经验。    高级经理,企业客户工程师 年薪:185000 美元(联邦数据中仅列出了一份年薪)   相似的职位发布:企业客户工程师 III。   主要职责:“设计、开发和支持全球企业公司运行的基于云的关键任务型应用软件、系统、服务和功能。”   需要几年的经验:视学位而定。    负责人,解决方案架构师 年薪:185000 美元(联邦数据中仅列出了一份年薪)   主要职责:“与客户建立深厚的关系,成为值得信赖的顾问,以支持客户最重要的工作负载,这些工作负载支持客户的数字化转型和云计算之旅。”   需要几年的经验:技术解决方案架构师岗位至少十年。    解决方案架构师 III 年薪:137259 美元至 185000 美元(94 万~128 万人民币)   主要职责:“充当客户、AWS 销售部门及其他 AWS 团队之间的技术联络人,搭建高度可扩展、灵活且有弹性的云架构,以解决客户业务问题并加快 AWS 服务的采用。”   需要几年的经验:视学位而定。    应用科学家 II 年薪:144300 美元至 185000 美元(99 万~128 万人民币)   主要职责:“设计、实施、测试、部署和维护创新的数据和深度学习解决方案,进一步提升客户体验。”   需要几年的经验:“至少三年的机器学习实际经验和至少两年的动手编程经验,另外要有计算机科学或相关领域的博士学位。”    高级营销和现场支持运营经理 年薪:185000 美元(联邦数据中仅列出了一份年薪)   相似的职位发布:现场支持高级项目经理   主要职责:“确定、定义、制定和维护现场支持项目方案,确定资源需求,并管理项目进度。主办高质量的现场支持研讨会。”   需要几年的经验:至少八年的项目管理经验,市场营销方面优化。    首席技术业务开发师 年薪:185000 美元(联邦数据中仅列出了一份年薪)   类似职位发布:新兴设备技术业务开发负责人   主要职责:“领导识别、评估、洽谈和执行战略合作伙伴关系和市场营销协议的工作,以推动竞争优势和客户满意度,并在全球范围内支持战略目标。”   需要几年的经验:至少十年到十二年,具体取决于业务开发经验。    首席企业客户工程师 年薪:185000 美元(联邦数据中仅列出了一份年薪)   主要职责:“制定并执行帮助我们的客户借助 AWS 平台继续发展并取得成功的运营支持策略。”   需要几年的经验:至少九年的技术工程经验和至少三年“领导 IT 转型方面面向客户的经验”。    解决方案架构高级经理 年薪:185000 美元(联邦数据中仅列出了一份工资)   主要职责:“作为业务开发和销售管理团队的重要成员,确保成功地构建应用程序、软件和服务,并将它们成功地迁移到 AWS 平台上。”   需要几年的经验:众多技术和面向客户的岗位至少十年。
互联网
2020-08-25 08:40:00
作者:魏巍 来源:魏巍谈企业学习、蓝血研究(lanxueyanjiu) 蓝血研究文章,如需转载请通过后台向公众号申请   1996 年春节前, 华为所有市场部干部向公司总部提交了一份辞职报告,同时也提交了一份述职报告,两份报告中,公司批准其中一份。   这一举动在业内引起了轩然大波。摩托罗拉一位高管说,这种做法放在绝大多数公司,都不知道会产生什么后果。市场人员本来就流动率高,培养一个客户经理多不容易,刚要出业绩又被人挖走,带走一批客户关系,你却要让他主动辞职,而且几十个人全部辞去,只有华为有这个魄力!   而在华为,市场部集体辞职不仅没引起任何骚动,却变成了一场凝聚团队的誓师活动。当时的公司总裁孙亚芳代表市场部作了集体辞职演说,她称这是一次向传统“官位”挑战的壮举,意味着能上能下在市场部不是口号,而是实践。市场部代表宣读完辞职信,后许多市场人员自发地走上主席台,慷慨激昂地表态:   “为了公司整体利益,牺牲个人,我毫无怨言。”   “华为的企业文化是团结、发展,作为一个华为人,我愿意做一块铺路石。”   “华为的事业长青,不能因为我而拖公司的后腿......”   其他部门的员工也纷纷发言:   “华为为什么是华为?因为有这么多勇于牺牲的个人,团结如一家的员工。”   “工作了多少年,只有在今天这个独特的仪式上,才理解到了牺牲的真正含义......”   市场部代总裁毛生江或许道出了当事人的心声:“我想,任何一个人从很高的位置上退下来,都难免会有很多想法,总会有一段心理调整期,说不在乎是不真实的。我想,也不会有人会心甘情愿地为自己制造一些磨难,如果真是这样,只能是在给自己脸上贴金,也是不真实的。我当初决定从市场部代总裁的位置上退下来,也确实没有想到会有现在的收获。   “关心我的人,经常会问我,我对这些在不在乎?别说我不在乎。我在乎的是华为的兴旺和发展;在乎的是一代华为人付出的青春、热血和汗水;在乎的是我能够继续为华为做些什么;在乎的是自己从工作中不断磨炼出来的自信心;在乎的是战友们的期望和嘱托。其他,比如什么面子、位置等,那些虚的东西,我是真的不在乎!”   市场部成立 5 年,为华为的原始积累立下了汗马功劳,称得是一支雄狮劲旅。为什么公司要将这支“铁血部队”全部换血呢?华为决策层的观点是:   其一,“我们的对手足够强大,强大到我们还没有真正体会到。我们和竞争对手比,就像老鼠和大象相比。我们是老鼠,人家是大象。如果我们还要保守、还要僵化、还要固步自封,就像老鼠站在那里一动也不动,大象肯定一脚就把我们踩死了。但是老鼠很灵活,不断调整方位,一会儿爬到大象的背上,或者钻到大象鼻孔里,大象老踩不到,它就会受不了。我们必须要有灵活的运作机制和组织结构体系。”   的确,一个两万元人民币起家的民营企业,甫一诞生,就在自已家门口遭遇外来的庞然大物,几乎毫无优势可言,唯一取胜的可能,就是比狮子更勤奋,像狼一样奋不顾身,比大象更灵活,如老   鼠一般左右周旋,快速行动。   这是华为创业以来一直面对的现实,现实逼出了市场部的变革。   其二,“兵为将用”而非“兵为将有”。   有人将任正非治企与曾国藩治军进行比较,认为二者有相似,这其实是种误解。湘军得以快速壮大的“兵为将有”的募兵制,恰恰是现代组织治理最应该警惕的制度。甲午战争的惨败固然有多种因素,但“兵为将有”的军事组织和文化是核心原因之一。北洋水师霍霍备战之际,南洋水师的统帅则作壁上观,朝廷上的诸大臣多数也暗怀期待:以一场对外战争消耗掉李鸿章的实力。甲午战败后,梁启超评论:李鸿章以一己之力敌日本全国。   历史是一面镜子。当“兵为将有”带来湘军的迅速扩张,并进而一举平定太平天国这一眼前内乱时,大清朝未来不久的四分五裂便也同时被命定了。   “兵为将用”,但万不可“兵为将有”。华为早期的发展有点“募兵制”的表面影子,“人你去找,事你去干”,但任正非从一开始就对组织内部的抱团现象,包括所谓“下级对上级的高度忠诚”“同学   会”“同乡会”等抱有高度警惕;华为的干部频繁轮岗、能上能下、可左可右的“旋转门”制度,某种程度上大大降低了组织发展中的山头现象。市场部集体辞职的做法,今天看来,无疑是极富远见的举措。   那么,兵为谁有?为创始领袖所有吗?当然不是。组织中的任何人都只能为组织所有。任正非在华为内部不交一个朋友,不搞所谓“公权私授”,以及所谓“推恩及人”——一切以面向客户的奋斗和贡献为标准,正是以行动对此做出的鲜明回答。   其三,启动与国际接轨。   任正非说:“市场部的集体辞职,行动是次要的,精神是主要的,它是启动与国际接轨的里程碑;它推动了公司干部大调整的行动,使人们不会感到精神上的失落;它把本来可能产生的阻碍因素转化为动力。由于市场部的启动,全公司每个部门都在自觉不自觉地启动。没有干部的国际接轨,没有组织的国际接轨,所有国际接轨都是假的,都是不可能实现的。干部能上能下是正常的,下去的干部不见得将来就上不来,也不见得上来的就能升得更高。没有基层工作经验的人不能做科级干部,没有周边工作实际经验的人不能做部门经理。一定要不断深入到实践中去,在实践中寻找新的线索和发展。只有实践才能全面检验真理。”   显然,市场部集体大辞职只是个切入口,华为决策层期待搅动起整个公司变革的旋风,使得更多部门都能有一种面向市场、面向客户的紧迫感;更重要的是,与国际接轨。华为在这阶段已经开始了与 IBM 咨询管理团队的接触。   之后的 IPD 变革对华为来说是一种脱胎换骨式的革命。最大的阻力来自哪里?来自个人权力的被剥夺或重新分配,来自人的“权力本位”的传统观念。回过头看,当年的市场部集体辞职与《华为基本法》的双轨启动,其实就是在为即将到来的制度和流程的全面变革做组织和舆论上的双重准备,既像实战前的组织压力测试、吹响冲锋号之前的预演,又是实实在在的排兵布阵。与此同时,也将 IPD 变革可能带来的剧烈震荡提前释放了一部分,到真正“削足适履”之时,“美国鞋”已经不是那么太夹脚了。   一年后,IBM 咨询管理团队进驻,华为开始了轰轰烈烈、长达二十年的组织变革。    凤凰展翅再创辉煌   ——任正非在“市场部集体大辞职四周年颁奖典礼”上的讲话   我首先认为不应该是发奖章,而是发纪念章,因为发奖章就一定得有评委,而评委的水平至少要比获奖人高。我认为你们的精神是至高无上的,没有人可以来评论你们,你们过去行为的检验是不需要任何人来评价的,你们的精神是永存的。   市场部集体大辞职对构建公司今天和未来的影响是极其深刻和远大的。我认为任何一个民族,任何一个公司或任何一个组织只要没有新陈代谢生命就会停止。只要有生命的活动就一定会有矛盾,一定会有斗争,也就一定会有痛苦。如果说我们顾全每位功臣的历史,那么我们就会葬送我们公司的前途。如果我们公司要有前途,那么我们每个人就必须能够舍弃小我。四年前的行为隔了四年后我们来作一次评价,事实已向我们证明那一次行为是惊天地的,否则也就不可能有公司的今天。毛生江从山东回来,不是给我们带来一只烧鸡,也不是给我们带来一只凤凰,因为虽说 烧不死的鸟是凤凰 ,但凤凰也只是一个个体,凤凰是生物,生物是有时限的。我认为他给我们带来的是一种精神,这种精神是可以永存的。孙总是市场部集体大辞职的带头人,但她受伤害最小。在市场部集体大辞职中毛生江是受挫折最大的一个人,经历的时间也最长,但是他在这四年中受到了很大的锻炼,也得到了很大的成长。孙总给《华为人》报交代,要写一篇文章,把这种精神好好记述,并号召全体干部向他学习。   大家已经看到了我们高层领导的干部任职资格标准,知道了对高层干部的评价标准也发生了变化。如果没有市场部集体大辞职所带来对华为公司文化的影响,我认为任何先进的管理,先进的体系在华为都无法生根。市场部集体大辞职是一场洗礼,他们留给我们所有人的可能就是一种自我批判精神。如果说四年前我们华为也有文化,那么这种文化是和风细雨式像春风一样温暖的文化,这个文化对我们每个人没有太大的作用。必须经过严寒酷暑的考验,我们的身体才是最健康的。因此市场部集体大辞职实际上是在我们的员工中产生了一次灵魂的大革命,使自我批判得以展开。作为我个人也希望树立一批真真实实烧不死的鸟作凤凰。有极少数的人是真正“在烈火中烧”,如果说他们能站起来,那他们对我们华为人的影响是无穷的。   孙总去非洲之前专门向我交待,这次市场部活动一定要让各部门、各个口的有关领导来受一次教育,一定要好好向毛生江学习。如果没有这个精神,那么以后的改革还是会有问题的。好在总算有这一次的榜样,好在总有四年历史的检验。有人痛苦三个月是没有什么问题的,半年或许也是没什么问题的。但是四年,相当于人的生命的多少分之一,不是谁都能够受住这么长时间的考验。所以向市场部特别是向毛生江学习这种精神,我认为是华为公司员工可以遵循的一种标准。人的生命是有限的,但他的精神是抽象的,是永恒的,我认为应把这种精神记述下来,流传下去。我相信这种精神是可以在华为公司传播下去的。传播下去的基础是什么,就是我们在公司坚定不移地推行任职资格标准。只要不顺应这种标准,那么你永远也爬不上来,只要顺应这种标准,那牺牲则必然在自我之中了。自我批判的目的是不断进步、不断改进,而不是停留和沉溺于自我否定,所以,我们每个人要对照任职资格标准,拼命学习,不断修炼和提升自己。我认为今天的意义非同小可,我相信一定会对我们的发展产生重大的影响。这四年来是由于一部分人能忍受痛苦,能给我们后人作一次榜样,华为才发展到今天。同时我认为明天更伟大、明天更需要我们加强自我批判。   第二个问题我要讲的就是去年你们的工作做得不错,你们也做了总结,去年销售额达到 120 个亿,特别是货款回收达到 88 亿。应该说去年的市场环境非常困难,回收货款的环境也错综复杂,但是我们都做得非常优秀。这两项行为如果让我们用一种方式来表达的话,这也是一种壮举,它奠定了 2000 年我们敢于发展的基础。这两个事情合在一起就是壮举,孤孤零零一件事情可能不仅不是壮举,有可能还是悲剧。大家想一想,如果去年销售额只有七、八十个亿,我们今天敢坐在这开会吗?因为,可能产生不了利润,甚至成本高到不能分摊。没有良好的市场销售量的支撑,作为领导的心里面没有底,那今年敢不敢发展?其实敢不敢大发展也就是一念之间,战争的胜负往往也就是将领在一瞬间对这个事情的决策。如果觉得去年才卖那么一点,今年也不可能卖得再多了,我们没有利润,不敢再投入,不敢去抓住机会,也许会裁掉一点队伍,或者不敢招聘优秀员工,那么我看我们今年大发展是没有希望的。不是我们不想发展,而是我们不敢发展。   再试想一下,你们去年销售额 120 个亿,而货款回收只有 50 个亿,这么多款没有收回来,怎么还会有信心。心中想 2000 年即使我们能卖 200 亿,货款也这样收不回来,现金流会不会中断,资产负债率相当的高,我们还敢不敢再发展?如果再发展,当现金流一旦中断,我们公司会不会全军覆没?如果卖了 120 个亿收不回货款把我们拖得半死,还不如只卖七、八十个亿。   如果说这两个行为只有一个是成功的,我认为那不能叫壮举,只能叫做悲剧,可能就会葬送华为公司。大家回想一下五、六月份的情况,五六月份的市场既萧条又混乱,西方公司低价抛销,恶性抢占市场,我们整个市场系统沉不住气了。在这个时候孙总踩了刹车,我加了油门。孙总踩刹车是指削掉销售计划 40 个亿,但要求不能再降价。我加了油门是指让总载办的人都去收款。结果销售目标完成得这么好,货款回收这么好。在市场出现混乱时,我们保持了队形不乱,大家排着队,打着鼓,唱着歌,齐步向前进。结果刚好我们就把可能出现的悲剧变成了壮举。孙总在非洲也委托我感谢你们两个部门,是你们给公司很大的帮助。如果说五、六月份这种混乱状态没有停下来,或者我们萧条下去,或者我们消沉下去,或者我们顺应这种自然发展而不抗争下去,很可能我们今天就会变成一个连生存都很危险的公司。   第三点我想说的就是我们今年最重要的市场举措就是建立地区客户经理部(地区客户代表处),要以改善客户关系为中心来建立,到时我们的客户代表管理部、国内营销部、区域机构管理部可共同对这个地区客户经理部或地区客户代表处实施管理。这就是说我们要把碉堡建到每一个前沿阵地去。中国总共有 334 个本地网,将来即使联通或是其他网络营销商估计也会按这种结构来布局,我们不分对象都提供优质服务。所以我认为我们地区客户经理部的建立是非常正确的,他会使我们的工作做得更加精细,因为各个层面客户满意度的提高是保证我们持续增长的基础。   我们在全国各地建立了很多合资企业,大家知道客户经理部就是一个个碉堡,而本地化合资就是通向这些碉堡的一条条战壕。我们在多层次上和客户建立了全方位的关系,我可以说这一点西方公司是做不到的,没有一个人会为西方公司卖命而到一个偏远的地方去守阵地甚至守上几年而不回家。西方公司实行的价值观和我们公司的价值观不一样,我们有很多在地区工作的地区客户经理们非常辛苦,生活条件也很差,但是他们从不退缩。我们要把这一个个碉堡建设起来,今年还要再扩大这些碉堡的覆盖,我们只要守住这一个个碉堡,挖通一条条战壕,我们就会有更大的收益。我们还可以用些收益反投进去改善服务,我们会有更好的条件。这是个战略的决策,因此各个部门,各个办事处主任都要认真进行这个部门的建立,不要打折扣,不要看到他们房子装修得好一点,一个人住一间就眼红,否则你自己下去。随着市场的发展,只要是客户关系比较密切的,都应该建立地区客户经理部。但是我们和客户间的合作也应是有原则的,丧失了原则是不好的,无限制的屈从也是不能成功的。在改善客户关系方面也要有指导书,可以按照指导书去做。   我认为这是公司的一个新的战斗举措。所以公司在新的一年中的市场举措大家要理解,特别是如果有些人要分到艰苦地方去,我希望他不要计较,要向毛生江学习,打起背包就出发,我的讲话完了,谢谢大家!
互联网
2020-08-25 08:27:00
由武汉大学新闻与传播学院、武汉大学媒体发展研究中心、财新网和中美教育基金联合主办、镝次元 数据新闻 研究中心协办的 第三届数据新闻比赛 获奖名单及前20、50入围名单出炉。快来看看花落谁家? 比赛于2017年8月15日截止报名,报名期间共收到272个团队的1067人参赛申请。最终,提交的参赛作品有119件,经评委会认定有效作品102件。最终有7件作品获得本次比赛的奖项,前50名作品榜上有名! 获奖名单如下: 特等奖 184号 《两万条数据给你最准确的北京租房素描》 武汉大学:靳海莲、杜俊成、史晨瑾 一等奖 10号《雾霾十三年》 中国人民大学:陈庭玉、徐也晴、管彤; 指导教师:方洁 二等奖 115号《高等教育资源这块“蛋糕”该怎么分?》 浙江大学:徐婷、吴春霆、 浙江大学CAD&CG实验室:张玮、马昱欣 187号《十字路口的钢铁行业》 宗涵、李斐,中冶赛迪工程技术股份有限公司; 周宇杰,成都雨珂医疗科技有限责任公司;汪磊,西南交通大学 三等奖 265号《美国人眼中的中国文化符号》 赵鹿鸣,华东师范大学;徐安可,中国地质大学;张仁尧,上海师范大学 指导教师:申琦(华东师范大学);叶韦明(北京大学深圳研究生院) 254号《暗流:恐怖网络的诞生》 刘智,台湾交通大学管理科学系硕士班 138号《现阶段“移动NICU”需求缺口分析——以广东省为例》 中山大学:曾乐、邱一耕、杨妍琦、许悦瑾 前20、50入围名单见文末链接 注:由于没有符合评选标准的研究报告,故此类奖项空缺。 奖项详情请参见官网:http://file.caixin.com/datanews_mobile/competition2017/ 获奖作品将于接下来的一周展出,敬请期待! 主办方 协办方 战略支持伙伴 点击阅读原文,一睹本届比赛获奖及入围作品的风采吧! http://www.dydata.io/article/p/918459174501949440 本文由 dydata 投稿至 数据分析网 并经编辑发表,内容观点不代表本站立场,如转载请联系原作者,本文链接:https://www.afenxi.com/48478.html 。
数据分析
2017-10-17 06:30:00
  萧箫发自凹非寺   量子位报道公众号 QbitAI   写论文时,手敲成堆的计算公式,被虐到头秃?   做讲课 PPT 时,几十页的计算推理公式,恨不得直接手写拍照?   现在,解放双手的时刻来了,只需要掌握 一点 Python 语法 ,上面的公式只需要 4 行就能生成,其中 3 行还是 Python 的计算公式。   △ 没错,就是这几行   这款名为 handcalcs 的工具包,生成 LaTeX 公式,但不用学 LaTeX 复杂的语法。   关键是,大小 只有 4.6MB ,相当于 Jupyter 里一个小小的插件。   平方、平方根、分式、三角函数、脚注……这个插件的功能五脏俱全,不仅能生成公式,还能计算结果。   此外,也有单位换算、格式调整等功能。   来看看它的用法。    基础版:公式+计算   装上 handcalcs 插件后,Python 就从一个无情的计算器,升级成了华丽的公式生成器。   在 Python 语法基础上,将计算公式呈现为 LaTeX 格式,只需要加 一行代码 。   没错,这行代码就是%%render。   也就是说,如果你想要生成 LaTeX 公式,只需要在计算公式前加个%%render。   不仅如此,Python 还会自动帮你计算出结果。   如下图,先设好 3 个参数a、b、c的值,然后用 Python 列出表达式,在最前面放个%%render。   然后,列出x的表达式。   duang 的一下,x用a、b、c表达的结果就展示了出来,而且还算出了结果。   再也不用输入大段 LaTeX 的复杂语法,生成复杂的计算公式了。   此外,如果想在函数中用这个工具插件,那就再加一行@handcalc (),但要注意 return locals (),像这样:   生成的效果也是一样的。   此外,如果需要在公式中加上判断条件,系统也能生成。   至于积分什么的,生成起来也无压力。   你以为这就结束了?   还早,生成 LaTeX 公式只是这个工具的基础用法。    进阶版:格式+单位换算   此外,handcalcs 还带有格式调整、特殊字符、 单位换算 等功能。    格式调整   首先,是对参数格式的调整。   如果你在某个公式中用到了好几个参数,但这些参数单独占一行会导致浪费纸张可读性很差,那就试试加一行##Parameters。   这样,一行里面就能放 3 个参数,而且不占很多地儿(减小行间距)。   当然,如果一行公式看起来太拥挤,还能调整它的长短。   只需要在公式前面加上#long 或者#short,公式就能根据你的心意变成几行,使推导过程看起来更清晰。   此外,如果不想在结论中给出计算结果,只保留参数公式,也是可以的,在前面加个#symbolic 就好了。   如下图,原本的计算结果就会被隐去,取而代之的是只有参数的表达式。   △当你的数学老师想让你计算公式时   而如果想在公式后面加些注释(或者「式 3.1」这种东西),这里也能直接生成。   此外,对于特殊字符的生成,这里也有方法。    特殊字符   如果你需要在字母右下角标些脚注,有的脚注可能还会「套娃」。   没关系,用一个下划线就能搞定,一个不够,就多来几个。   此外,有着各种奇怪念法的希腊字母、还有特殊字符等,这里也能根据读音生成。    单位换算   最关键的是,handcalcs 绝不仅仅是数学计算式生成器,它还带有单位换算的功能。   如果是物理方面的计算公式,输入表达式和单位后,handcalcs 能自动生成单位换算结果。   这样的话,就不用再费劲地列量纲,看这两个单位相乘相除的结果究竟是个啥了。    转成 LaTeX 语法   当然,如果你想将生成的 LaTeX 公式还原成 LaTeX 语法,粘回 LaTeX 中去用,这里也提供了非常便捷的操作。   只需要一个%%tex,handcalc 就会自动帮你生成 Latex 语法。    小限制   不过,这个工具包也有一些小限制。   例如,并非所有的数据类型都适用,例如 Python 的「容器数据」(collections)。   此外,也并非 Python 中的所有公式都适用,例如 for 就不支持这个工具的渲染。   但除了这些小限制外,这个工具包不失为一个强大的公式生成器,论文中需要生成的公式基本都够用了。   还有一些其他的细节功能,可以戳下方传送门查看。    作者介绍   这份工具的制作者 Connor Ferster,并不是计算机专业出身,不过他对 Python 很感兴趣。   据 Conner 在社交媒体上的自我介绍,他目前是一名土木工程系的学生。   所以,土木工程论文需求的计算量可能真挺多的?    传送门   工具包链接:    https://github.com/connorferster/handcalcs
互联网
2020-08-25 08:23:00
摘要:本讲座选自清华语音语言实验室副主任王东于2016年1月19日在RONGv2.0系列——”语言语音语义与 大数据 技术”专场上所做的题为《语音识别中的 大数据 与小数据学习》的演讲。 谢谢大家。刚才刘老师已经把很多的东西说得很清楚了,我觉得我已经可以走了J。但是既然来了,还是应该给大家说一说。刘老师在一个比较宏观的场景下给大家介绍了整体的技术发展现状,我稍微聚焦在一个特别小的地方,给大家一个参考。 我今天给大家报告的题目是语音识别中的大数据与小数据的学习。什么意思呢?我们都需要大数据,今天的会也是个大数据的会。问题是很多时候我没有那么多大数据,怎么办?我们希望有一种办法,在没有很多的数据的时候,用小数据实现大数据的能力。 语音识别大家都知道很火爆,很多商业公司推出了语音识别服务。总体说来,语音识别其实是 人工智能 的一个分支,我们希望跟机器交互的时候能够实现比较自然的交流,而不是通过文本打字,这在未来是一个必不可少的智能交互手段。 这是大约直到5年前还统治世界的这么一个语音识别技术框架,叫HMM-GMM模型。最早是由IBM的Fred Jelinek和CMU的Jim Baker 这两位提出来的。在这之前,语音识别一直是拿两段声音互相匹配,即动态时间弯折,DTW。但这种模板匹配方法很难处理语音中的不确定性问题,所以人们开始思考用统计模型对语音建模。你不是有很多不确定性吗?那我们就用统计方法来描述这种不确定性,把不确定性放在模型里面。这即HMM-GMM方法,从80年代一直到2010年左右的语音识别系统框架。该框架主要分三个组成部分。最底层是特征提取。我想去识别你的语音,首先我得把最显著的特征提取出来,一般用的特征叫MFCC的特征。第二个部分是描述发音不确定性的静态概率模型,即GMM模型。第三个部分是描述发音时序特性的动态概率模型,即HMM模型。这三个部分组成HMM-GMM系统框架,在很多领域都可应用,特别是对语音识别尤其有效,因为语音信号具有很强的动态性,适合用该模型描述。 有了这个框架之后,Fred和Jim两位先驱就提出这么一个到现在还在用的公式,即后验概率最大化识别准则。从80年代起直到大约在5年前,我们一直都是这么做语音识别的。一个重要的问题是,有了统计模型还不够,需要用数据来对模型进行训练,或者说,使模型能适应某一任务的数据。当时就提出这么一个说法,叫“No data like more data”,意思是说只有有了Data这个模型才有意义,Data越多越大,模型效果越好。 2010年的时候世界发生了很大的变化。第一件事情特征提取过程的简化。传统的特征提取方法,如MFCC,要用很多步骤来提取出特征。现在我不需要你人为地设计出这么多复杂的步骤,我直接给你一个语音信号的原始信号,或者简单的原始谱,你把语音特征提取过程用深度神经网络学习出来。这意味着人们不再需要去费劲设计各种特征提取方法和步骤,人的压力就减轻了,而且因为学习得到的特征提取方法和任务目标更匹配。另一件事情是传统GMM模型被深度神经网络模型取代。传统GMM模型通过混合若干简单高斯模型来生成较复杂的概率分布模型,可以描述语音信号的静态分布特性,但对不同发音的区分性不够。用深度神经网络取代GMM,可以直接描述后验概率,增加发音区分性。第三件事情是传统的HMM模型被递归神经网络取代。RNN模型是比HMM更强的描述动态特性的工具,将HMM中的离散状态描述变成连续状态描述。所以,基本上 深度学习 是把原来的模型和方法全部推翻了,用神经模型代替了概率图模型,将原来人工方式做的事情变成了一种学习的方式。这是一种非常翻天覆地的变化。 现在的语音识别基本是这个样子的,整个一套系统不再有那么多复杂的模块,基本是由神经网络将从语音信号到说话内容端到端的学习出来。这幅画刘老师也提到过,由于深度学习的引入,语音识别系统的性能大幅提高。 今天是大数据的讲堂,我们看语音识别和数据有什么关系呢?在我看来,从我学习语音识别开始,我们就知道data是非常重要的东西,基本上做语音识别一大部分工作是在做data。这幅图告诉我们什么事呢?告诉我们两件事,首先数据很重要,数据越多,性能越好。还有一个事,基于DNN的系统在数据增大时的效果提升更明显。这意味数据重要,模型更加重要,只有数据和模型匹配的时候才能学到更多的东西,只有这两个加在一起的时候才能实现“大数据”。感觉现在似乎是说我们还需要data,但并不像以前那么迫切。因为神经网络的灵活性,数据少我们可以干小事,数据大我们可以干大事,而不是像以前一样必须有大量数据,小数据我们一样会干的不错。换句话说,是我们现在对data的依赖有所下降,我们还是很希望数据,但并不饥渴。We are datahungry,but not starving。 事实上作为语音研究者,在大数据火爆之前我们一直不觉得自己是做大数据的,即使现在我们也不觉得自己是做大数据的。为什么呢,因为我们觉得手头的数据并没有那么大。 具体来说,(1) 原始数据很大,标准数据很少;(2)低质量的数据很大,可用的数据其实并不多;(3)中英文数据很大,很多主流语言有很多数据可以得到,但是一些少数民族语言、小语种很难得到数据;(3)收费数据很大,免费数据很少,很多数据是有,都在公司里,都要你钱的,其实没有多少数据供研究者免费使用;(4)信息含量很大,可用信息很少。我现在说话,大家能听到我的声音,其中包括各种信息,包括说的什么话、什么口音、什么性别等。这里边信息量很大,但是我们能用的东西确实非常非常少;(5)积累速度很快,一天积累无数的数据,但是能处理的很少,计算机的计算量是有限的。刚才刘老师说的四个V(Volume、Velocity、Variety、Value),似乎好像看起来对语音数据来说,Volume是适合的,其他几个都不是特别好。这意味着其实我们只是看着像大数据,其实并非如此。另一方面,因为语音信号里边确实有很多信息,所以我们来认为我们潜力很大,我们的数据里面可以挖到很多东西,但是到当前能够利用的,或者已经利用的东西还是非常非常少。一方面我们的技术可能没达到那种程度,第二说明我们还有潜力,未来我们可能真的可以称为大数据研究。 我们希望干什么事呢?比如现在如果数据量很大,好几十台、上百台CPU同时训练,那当然是最好的。但这毕竟并不容易,除了Google、百度有那种能力之外,我们大多数研究机构还是没有这种能力。退而求其次,我们希望用小数据做大数据的事情。我们数据有限,但是我们还是希望能够得到一些大数据能得到的好处。 可能的方案有哪些呢?比较著名的可能是非监督学习。比如图上这个机器人看了很多书,这是监督学习;但是有的时候没有这些书,它就满世界转悠,看到一些东西记下来,用这些来丰富自己的知识,这是非监督学习。半监督学习的意思是,可能我学了一点东西,但是没有太多的东西可学,因此可以利用学到的一点知识,为其它没有标注的数据进行标注,以扩大学习样本。弱监督学习,比如说没有那么多标好的语音,但是网上有很多有声小说,如《盗墓笔记》等,这些小说有人帮你读出来了,因此可以利用里边的数据进行弱监督学习。另外一些方法包括数据合成和转移学习,这是我想给大家分享的重点。 首先是数据合成。我们有一些数据,但数据总量有限。我可以用这些种子数据造出一些数据来。比如我现在需要噪声数据,把种子数据里加一些噪音,这些噪音可以是各种各样的,可以是机场的噪音,也可以是白噪声,也可以是咖啡馆的声音。虽然我们没有这些噪音为背景的语音,但是通过人工加入这些噪音,在训练的时候这些噪音信息还是加进去了。通过训练,那些不容易被噪音破坏掉的语音成分被突出出来,增强识别效果。左边这幅图是加噪训练的一个例子。我们往原始的DNN模型的输入端加入噪音,通过学习,可以看到在噪声环境下的识别性能显著提高,对纯净语音性能几乎没有影响。 加噪编码器,或者DAE。这一模型在很90年代就提出来。现在研究者倾向认为,通过噪音训练的编码器等价于学习一个低维的子空间,这些低维子空间对噪音不敏感。这一理论最初是基于白噪声,后来大家又做了扩展,加入其他噪音发现结果也不错。比如说可以加一些敲门声,DAE就可以把敲门声滤掉,把跟敲门声无关的信息学出来。同样的方法还可以学习和滤除回音。 我们用这一方法可以去掉声音中的音乐。音乐很规则,很有规律性,利用这点,我们可以用DAE学习音乐的特性。这是原始的语音,加入一些Piano,或加入Rap音乐。我们可以看到,加上这些噪音以后识别效果就变得非常差。这说明音乐对语音识别影响很大,越是跟人声越近的音乐影响越大。 我们试图用DAE学习音乐特性。左图为一个DAE,输入的语音信号里面加入一些音乐噪音后生成的Fbank特征。输出是原始纯净声音的Fbank。通过学习,可以有效滤除这些加入的音乐。特别有意思的是,这里面加入Piano进行训练后,得到的模型对其它音乐学习也有好处。这证明音乐是具有共性的,学习一种音乐对其它音乐噪音也是有好处的。 另一种方法是转移学习。这里有两个机器人,这个机器人先知先觉,学了很多东西,这个机器人将这个知识传到了另外一个机器人那里,第二个机器人在没有数据的条件下也学得了很多知识,这一方法叫做转移学习。 基于深度学习的转移学习方法早在2009年就已经提出来,近年来得到广泛应用。如图所示,我把各种各样可能的数据或特征都给它扔进神经网络,网络的中间层用来表征由各种不同的知识得到的共享的、共用的特征。例如,输入既可以是中文,也可以是英文,可以是机场环境,也可以是办公室环境,但是不管什么输入,都共享中间层,这样各种数据资源之间可以共享信息。用了这样一个共享信息的网络,网络基本架构已经成型,实际应用的时候只要一些简单的数据进行自适应就可以得到很好的结果。 具体到语音识别里面,我们做了哪些事呢?有很多很多种方法,我们觉得有些比较有价值的可能是,第一个是跨语言转移学习,第二个是跨模型的转移学习, 为什么要考虑跨语言呢?因为不同语言的数据分布是非常不均匀的,某些语言数据量非常大,某些语言数据很小。人类语言总共有五千多种,其中389种语言覆盖了94%的人群,剩下的那么多的语言其实很少有人说。所以从这个角度来说,其实绝大部分的语言都是闲置的,和大数据不沾边。同时,语言现象是随时变化的,今天说一件事,明天可能说另一件事,差别很大,所以要想一个模型一劳永逸很难。 转移学习是解决上述问题的有效方法,基本思路是利用语言之间的相似性。我们想利用语言之间的相似性来共享资源。原始的共享方法是用一套通用的发音系统来标注各种语言发音,这样不同语言的相似发音就得到了共享。 基于深度学习的语言共享是当前比较有效的方法。如图所示,输入层可以输入各种语言,这些语言共享DNN的中间层,分类层用来在不同语言内部不同发音间进行区分。这是在2012年、2013年做的事情,现在基本上已经成为一个标准框架。 还有一种方法是跨模型转移学习,什么意思呢?现在学了一个模型,这个模型可以作为一个知识源,或者是作为一个老师,这个老师想办法去教一个学生,把知识传递给学生。有很多种方法实现这种转移学习。一种方法是相当于老师教学生一样,我告诉你这个题的答案是什么,然后你照着我的答案去写过程。还有可能是从中间层给出指导,还没出答案,我只告诉你中间的解题过程,你把解题过程告诉这个学生,这个学生也可以学到知识。 2014年、2015年发生很多事情,比如说2014年的时候可以用比较复杂的DNN来学习比较简单的DNN。后来可以用比较复杂的RNN来指导一个比较简单的DNN,这样使得NDD达到近似于RNN的效果。这时的研究思路是尽量保证老师把知识尽可能教给学生。 现在有一个问题,当前的方法都是用强的老师来教一个弱的学生。问题是,如果这个老师很笨怎么办?大家当老师都有这个经验,很多时候老师不如学生,有的学生比老师还聪明,那老师还能教得了吗?比如这幅图里,左边有一个比较浅的网络,右边有比较深的网络,我可以用浅的网络来指导深的网络学习吗? 非常幸运的是,我们的实验发现,即使比较笨的老师还是可以教出比较聪明的学生。通过什么方式呢?一种方式就是我可以告诉这个学生,虽然我知道得不是很清楚,但是最开始我肯定比你知道得多,你也许后来可以发展得很好,但是开始至少你还是比我差一点点,所以我就把那一点点东西传给你,将来怎么发展,师傅领进门,修行在个人。虽然我的这个知识不是特别好,但是我可以让你先有一个锻炼,锻炼的方式可以教给你,然后你自己去学。事实证明,这种方法确实有好处。比如说我们用一个比较弱的DNN,即是比较糟糕的老师去教一个比较强的学生,一个RNN模型。最初的时候,这个DNN老师的错误率是11.40。如果聪明的学生从开始自学,相当于把一个特别好的学生扔到一堆书里,自己去看,结果是12.34,这个结果不如一个弱的老师。当这个DNN老师把这个知识传给学生,聪明的学生拿到老师的知识以后,自己发挥、升华,最后就超过老师了,错误率下降到10.10%。这意味着什么呢?意味着老师弱的时候也无所谓,可以教比较聪明的学生。 总结。我们觉得语言和语音的问题很大程度上是一种大数据背景下的小数据问题,因为我没那么多数据,所以我们不得不用有限的数据做更多的事情。基本的思路就是共享。共享在语音识别里面有很长的历史了,比如基于决策树的上下文相关建模。未来我们可能需要将语音的、文本的各种信息集成在一起进行更有效的共享学习。另一方面,非监督学习有可能是间接利用语音大数据的有效工具。特别有意思的是深度学习使得小数据到大数据的学习成为可能,没有这个工具其实我们很难用小数据做什么事。谢谢各位。 本文采用「CC BY-SA 4.0 CN」协议转载自互联网、仅供学习交流,内容版权归原作者所有,如涉作品、版权和其他问题请给「 我们 」留言处理。
数据分析
2016-03-27 00:35:00
  犹他大学上周披露,为了避免学生信息泄露,它向勒索软件攻击者 支付了 45.7 万美元赎金。   勒索软件背后的攻击者通常在入侵计算机系统加密文件前会先窃取敏感文件,以防万一受害者拒绝支付赎金,它可以以公开敏感信息的威胁来二次勒索。发生在犹他大学身上的勒索软件攻击就是如此。在攻击中,犹他大学服务器上的文件只有 0.02% 遭到加密,IT 人员利用备份恢复了文件。但攻击者威胁泄露学生相关的信息,迫使大学重新思考拒绝支付赎金的决定。犹他大学在 声明 中称,慎重考虑之后它决定支付赎金。
互联网
2020-08-25 08:15:00
摘要:「数据会说谎」的真实例子有哪些? 一个热门问题下面,昨天看到了一个答案: 「数据会说谎」的真实例子有哪些? – 鱼非鱼的回答 。作者用误导性的言论、数据,在数据的选择和分析,以及结论的得出上面撒谎了。我昨天睡前写了一个答案 「数据会说谎」的真实例子有哪些? – 许行的回答 来质疑他的文章,今天起床以后发现他文章的问题更多。首先我们来看他的答案开头, “很多人觉得飞机更安全(飞机是最安全的交通工具吗? – 飞机),都是看了维基百科上这个国际数据(我也曾是其中一员)” 一开头一举就奠定了本文的基调:你们包括我都被骗了, 国际数据是骗人的,我们要来针对国情进行分析。然后引用了数据并且列出数据来源。似乎好专业呀,又有Wikipedia、网站和期刊。 然而,他完全就是在胡说八道。第一,这个表格中的数据,是来源于Modern Railways(一本大众期刊)第623期上面根据英国环境、运输和区域管理部的数据,范围是 英国本土的各种交通方式(所以表格里面数据显示,大巴多安全呐)。而他所列举的第二个数据来源论文的摘要写道: The authors used traffic exposure data to calculate exposure-based fatal and nonfatal traffic injury rates in the United States. ……Nonfatal injury rates were highest for motorcyclists and bicyclists. Exposure-based traffic injury rates varied by mode of travel, sex, and age group. Motorcyclists, pedestrians, and bicyclists faced increased injury risks. Males, adolescents, and the elderly were also at increased risk. Effective interventions are available and should be implemented to protect these vulnerable road users. 这篇论文是用年龄段、交通方式、性别进行分组研究的,而且,最主要研究的是开车、摩托、自行车这些个人出现的方式!不知道@鱼非鱼同学是不是从自己平时的论文资料库里面随便引用了一篇呢? 所以他的 数据分析 展开就很荒之大谬了,以上都是发达国家的数据,他却说这些不合适: 好了,按照他的操纵思路,读者就会说,嗯,国情不同,具体情况具体分析嘛。然后我们来看关于中国的民航和铁路安全情况。他选择的是2001-2014之间的数据,数据就不贴了,他的结论是: 直接用不太有说服力的统计数据,在加黑的文字里面,直接告诉观众:“在中国,民航的每人公里的死亡率大概是铁路的5.7倍”。长篇大论,数据“详实”,观众就此被说服,这个答案上千赞都没有问题。 但是呢,昨天我写了答案对他的文章进行质疑了 「数据会说谎」的真实例子有哪些? – 许行的回答 ,我的答案提到: (他的)这个时间点选择上很巧妙。避开了上世纪末一些扎堆的铁路运输事故,但是集中了影响我国21世纪航空运输格局的几次空难,而且数据似乎有问题,比如某次空难的死亡人数是128人而不是155人,引用了Wikipedia的来源却自行修改数据,“引用”是用来装x的么?反正,如果我们选择最近十年2005年-2014年的数据来看的话,结果如下: 是不是数据就反转了?我选择最近十年,也就是2005-2014年的数据是有原因的,大家都知道,科技上有个名词叫做 代差,有时候新的一代就是能吊打老的一代。对于中国民航来说,21世纪的第一个十年是很关键的十年,就本文所论及的飞行安全来说,代差来自于三个方面,而且正是2002-2005年之间的几次重大空难推动的: a、安全规范的更新,严格而全面的飞行要求开始实行。 b、新的机型比如777-300ER、747-8、787、737NG、380、350等的引入,淘汰老的310、MD82等机型,使得我国的飞机平均机龄达到一个很低的水准。 c、航空企业重组,六大航空合并成为现在的三大航,使得航空公司实力更强,管理开始现代化改革。 在2005年之后,中国民航运输保持了两个长达五年的飞行安全记录,2005之前么,700天就发文章昭告天下了。 铁路运输上面应该也有代差,我不太了解,就不发表言论了。反正,既然我们比较安全性,而且要得出对现实具有指导性结论的话,就不要跨越代差。而且,本来空难、铁路事故的发生概率就不大,并且两个又都是重型运输系统,我想,除了在知乎上面耍耍嘴炮之外,应该没有什么实质性的参考价值吧。毕竟对于中国的民航和客运铁路来说,事故旅客每公里致死的几率没有数量级上面的差异。倒是统计分析哪种飞机机型、哪个航空公司、哪个国家的近十年飞行安全记录,避开比较差的,这样才是我们需要了解的信息。 来源:知乎 作者:许行 原文链接:http://zhuanlan.zhihu.com/flyer/20170910 本文采用「CC BY-SA 4.0 CN」协议转载自互联网、仅供学习交流,内容版权归原作者所有,如涉作品、版权和其他问题请给「 我们 」留言处理。
数据分析
2015-12-20 19:28:00
【来源:博客园】志愿者识别了近百颗褐矮星
  通过 NASA 资助的 Backyard Worlds: Planet 9 项目,公民科学家在太阳系附近 发现了 95 颗褐矮星——太重而不视为行星但太轻而不视为恒星,介于气态巨行星和恒星之间的天体。   褐矮星通常表面温度炎热,但新发现的 95 颗褐矮星温度都比较低,部分天体的温度甚至接近地球,足以使其大气层存在水云。2014 年,天文学家利用 NASA 的 WISE (Wide-field Infrared Survey Explorer)计划收集的数据发现了至今最寒冷的褐矮星 WISE 0855,其温度为零下 23 摄氏度。如此低的温度令科学家怀疑它是一颗行星。科学家希望最新的发现能帮助他们了解为什么褐矮星如此冷,或者它们是否真的是褐矮星。
互联网
2020-08-25 08:08:00
为此我从投资人的视角,给大家总结了 人工智能 创业的6大核心问题。 第一个问题:互联网 vs 人工智能 首先如果今天大家选择创业,我建议更应该关注人工智能,而非互联网。为什么这么讲? 1. 互联网的流量红利已经消失; 以PC来说,全球PC出货量连续5年下滑。大家知道国内最后出现的一个PC互联网独角兽是谁吗?是知乎,大概是2011年初推出,这么多年过去,再也没有PC互联网的独角兽出现。做个类比,我们知道2015年移动互联网的渗透率和竞争程度和2011年的PC互联网类似,以此类推,2015年以后再做移动APP,也很难出独角兽了。 毕竟中国连续两年手机出货量都在5亿多台,增长放缓,代表无线流量基本已走平,你多卖一台,我就少卖一台,是存量竞争。今天创业者再做一个纯互联网的APP,投资人问的第一个问题就是你怎么获客。因为现阶段流量格局已定,首屏就那几个APP。 2. 互联网+的机会同样有限; 主要在于互联网最大的价值,是解决信息不对称和连接。所以对于电商特别有价值。淘宝用皇冠、钻石等信用体系解决了信息不对称,同时又把全国有这么多买家和卖家连接在一起。这个是互联网的价值。 但很多行业信息和连接并不是痛点。 拿医疗举例,中国三甲医院的大夫就那么多,你把全国13亿人民都和这些大夫连接上了也没用,因为一个医生一天还是只能看那么多病人。互联网并没有提高医生看诊的效率。在诸如餐饮、医疗这些传统领域,互联网的帮助是很有限的。 也包括滴滴打车,互联网解决了打车难的问题,但是没解决打车价格的问题。事实上,补贴去掉之后,大家都发现了滴滴一点都不便宜,道理很简单——不管是专车还是出租车,还是需要由人来开,人工成本降不下来,就不可能便宜。 3. 真正能够提高社会生产力,解决供需关系不平衡的就是人工智能; 人工智能将给社会生产力带来的提高,以及对人类带来的影响将远远超过互联网。 还是拿医疗来说,很多基层医院水平不高,那未来完全可以通过人工智能来辅助医生读CT、X光等医疗影像。像今年,IBMWatson对皮肤黑色素瘤的诊断,准确率已提高至97%,远远超过了人类专家75%-84%的平均水平。 未来,人工智能无论是在无人车、机器人、医疗、金融、教育还是其他领域,都将爆发巨大的社会效益,这点毋庸置疑。 我认为下一波大趋势和大的红利不是互联网+,而是人工智能+。 我建议现在的创业者更应该关注人工智能领域的创业机会。 第二个问题:人工智能 vs 人工智能+ 人工智能主要分三层。最底层是基础架构(Infrastructure),包括 云计算 、芯片以及TensorFlow这样的框架。在基础层之上是中间层,叫通用技术(EnablingTechnology),例如图像识别、语音识别、语义理解、机器翻译这些。 基础层和中间层,是互联网巨头的必争之地。比如芯片领域,Intel、英伟达、高通都投入巨资,竞争极其激烈。同样云计算、框架也是一样,都不是小公司能够涉足的领地。 现在对于中间层的通用技术,BAT也极其重视。因为大家都相信人工智能是下一波工业革命浪潮。 对腾讯、阿里、百度这些巨头来讲,要想在大浪中屹立不倒,必须要构建出人工智能的生态系统(Ecosystem)。 而核心就是要依靠这些Enabling Technology技术。 相比创业公司,BAT的最大优势是什么呢?第一,不缺数据;第二,为了构建自己的生态系统,未来通用技术一定全部是免费的;第三,虽然通用技术免费,但BAT有羊毛出在身上的猪机会。这是典型的互联网打法。 这里的猪是什么?猪就是云计算。例如百度的ABC策略,分别代表人工智能( AI )、 大数据 (Big Data)和云计算(Cloud Computing)。AI我可以不赚钱,开放给大家,那么大家想享受我的服务,就来买我的云吧。 而对于创业企业来说,只做图像识别、语音识别、语义理解、机器翻译这些通用技术,指望通过SDK卖钱,未来路会越来越窄,特别是BAT都免费的压力下。 所以从这个角度讲,创业公司做下面两层风险比较大。 我认为创业公司的机会在最上层,就是拿着下两层的成果去服务垂直行业,也就是我们所谓的人工智能+。 第三个问题:人工智能+ vs +人工智能 深入垂直行业的人工智能+,又可细分为两类情况:即“人工智能+行业”和“行业+人工智能”,他们间有明显的区别。 “AI+行业” 简单讲就是在AI技术成熟之前,这个行业、产品从未存在过。比如自动驾驶,亚马逊的Echo智能音箱、苹果的Siri语音助手。在人工智能技术未突破前,不存在这样的产品。因为AI,创造出了一条全新的产业链。 “行业+AI” 就是行业本身一直存在,产业链条成熟,只是以前完全靠人工,效率比较低,现在加入AI元素后,使得行业效率有了明显提高。比如安防、医疗等领域。 客观讲,这两个类别都有创业机会。但“AI+行业”,因为是一条新的产业链,创业公司与互联网巨头实际是处在同一起跑线上。巨头们坐拥数据优势。所以从这个角度,“行业+AI”相对对创业公司更为友好,也更容易构建出壁垒。 我认为, 未来行业壁垒才是人工智能创业最大的护城河。 因为每个行业都有垂直纵深, 尽管BAT技术好一点、并不关键。拿医疗+AI举例,什么最重要?大量准确的被医生标注过的数据最重要。没有数据,再天才的科学家也无用武之地。 但在国内,这个医疗数据拿出来非常困难。所以BAT做医疗一点优势都没有,因为他们要把这些数据,从各医院、各科室搞出来也很累。相反,如果一个创业者在医疗行业耕耘很多年,也许拿起数据来比大公司更容易。 这要求创始团队的合伙人中,必须有懂行业、有行业资源的人才。这与互联网+一样,一旦细分到具体行业,并不是说你百度、腾讯有资金、有流量,投入人才就什么都能做,比拼的还有行业资源和人脉。 之所以跟大家聊这个话题,是因为前一段去百度大学跟大家交流,他们提到百度人工智能在无人车和DuerOS的应用。同时又问我,人脸识别在国内安防领域的应用价值非常大。像海康威视有近3000亿人民币的市值,每年光净利润就有近百亿。百度在AI方面是不是该考虑进军这个领域。 我回答说千万别,因为安防是典型的、有巨大壁垒的“行业+AI”领域。 即使百度技术好,在人脸识别率方面比海康威视高一个百分点(实际不一定,海康背后有几百人的AI研发团队)。但这并不代表百度就能替代海康。因为安防是“非关键性应用”(non-mission-critical),100个犯人我识别了95个,你比我多识别了一个做到了96个,其实没那么重要。 而反过来,海康对比百度有什么优势?首先海康是做摄像头的,用自己的硬件跑自己的算法,是很自然的事儿。就像苹果手机,软硬一体体验更好。其次,海康做了这么多年的安防,积累了非常多的数据,人脸的数据、环境的数据……在安防领域有数据优势。最后,海康给公安系统做了很多类似警务通、基站信息采集、视图档案管理等SaaS平台的东西,以及警用云系统。我们可以认为公安系统的IT化,其中有一部分就是海康威视参与的。 这些东西可能不赚钱,但却为海康构建了壁垒。因为底层的基础设施都是我建的,那前端的东西就只能用我的(我可以有100个理由,说竞品与我不兼容)。而且海康做了这么长时间,积累了大量的客户资源,特别是政府公安局的资源,开拓这些资源非常需要时间。 这些就是所谓的行业纵深。所以即使对BAT而言,想进入“行业+AI”领域,选择垂直赛道时,同样要非常谨慎。 在巨大的行业壁垒面前,真不是说我的算法比你好一些,市场就是我的,只有技术优势仍然差的很远。 回归 “AI+行业”和“行业+AI”,通常来讲前者的行业纵深会比较浅,而后者则有巨大的行业壁垒。而行业壁垒,则是创业公司最大的护城河,也是抵挡BAT的关键。 第四个问题:关键性应用 vs 非关键性应用 谈到人工智能领域的创业,很多人都会有个误解,就是如果我团队没有个大牛的科学家,比如斯坦福、MIT的博士坐镇,我都不好意思讲在人工智能方面创业。其实这个认知是完全错的。因为在人工智能领域,算法到底有多重要,完全取决于你要准备进入哪个行业。 根据行业和应用场景不同,我认人工智能的创业本质上有mission-critical和non-mission-critical之分。为了方便大家理解,我们简称为“关键性应用”和“非关键性应用”。 “关键性应用”要追求99.9……%后的多个9,做不到就没法商业化。比如大家认为,99%可靠度的自动驾驶能上路吗?肯定不能,意味着100次就出1次事故。99.9%也不行,1000次出一次事故。 千万记住,99%和99.9%的可靠度差距并不是0.9%,而是要反过来算,差距是10倍。 也包括手术机器人,听起来99.9%可靠度已经很高了,但意味着1000次出一次医疗事故,放在美国,医院还不得被巨额索赔搞得破产。 所以“关键性应用”领域,就是一丁点儿错都不能犯的人工智能领域,必须要有技术大牛、科学家或算法专家坐镇。同时,这类项目研发周期都很长。 正如以色列做ADAS (高级驾驶辅助系统)解决方案的Mobileye公司,今年3月被Intel以153亿美金收购。大家知道这家公司研发周期有多长吗?Mobileye成立于1999年,到他们推出首款产品、挣到第一桶金已是2007年。长达8年的研发周期。这在互联网创业里不可想象。包括谷歌无人车从2009年开始研发,到现在一直没有商业化;达芬奇手术机器人从启动研发到2000年拿到美国食品药品管理局(FDA)的认证,花了十年时间。 “关键性应用”的普遍特点就是这样,项目通常很贵,研发周期巨长,离钱非常远,需要持续的融资能力,团队怎样才有持续融资?起码要有非常好的简历和非常好的背景。这个是能够持续融资的必要前提。所以大家可以看到,今天做无人驾驶的创业团队都是高富帅。因为不是高富帅,你都熬不到产品真正商业化应用那天。 当然,如果在人工智能领域都是“关键性应用”,那就没大多数创业者什么事了。实际上,人工智能领域的创业,95%都是“非关键性应用(none-mission-critical)”。简单讲对这些领域,AI的可靠度只要过了基础线,高一点低一点区别不大。 最简单的例子,现在很多公司的门禁开始用人脸识别。你今天带个帽子,明天戴个墨镜或口罩,识别率没法做到99%。可即使没识别出来也没问题。因为所有带人脸识别的门禁都有地方让你按指纹。即使指纹也刷不进去,问题也不大,公司不还有前台吗。 这就是“非关键性应用“。这类项目不追求99%后面的很多个9。 实际上,国内人工智能和机器人方向的创业,大部分领域都是“非关键性应用”。 当然并不是说,在这个领域算法不重要,你天天认不出来也不行,所以一定要过了基础的可用性门槛,偶尔出现问题可以容忍。“关键性应用”则不能容忍。 “非关键性应用“不追求高大上,简单、实用、性价比高更重要,这样的项目通常比拼综合实力。包括: 对行业的洞察理解。要熟知行业痛点; 产品和工程化能力。光在实验室里搞没意义; 成本控制。不光能做出来的产品,还得便宜的做出来; 供应链能力。不光能出货,还要能批量生产; 营销能力。产品出来了,你得把东西卖出去。团队里有没有营销高手,能不能搞定最好的渠道是关键。 所以大家在创业组团队时,一定要想好你选择的赛道处于哪个领域,不同的赛道对于团队的要求是不一样。“关键性应用”必须有技术大牛坐镇,“非关键性应用”则要求团队更加综合和全面。 第五个问题:技术提供商 vs 全栈服务商 现在很多人工智能创业者都是技术背景出身,创业的第一个想法通常是做技术提供商。技术提供商作为创业的敲门砖可以。但如果只定位做技术提供商,未来路会非常窄。为什么说未来只做技术提供商价值会越来越小?原因有几点: 1. 首先通用技术一定是大公司的赛道,BAT未来一定会开放免费。 人家大公司会免费提供人脸识别、语音识别、语义理解、机器翻译这类EnablingTechnology,你还打算怎么靠API调用赚钱呢?也许现在还可赚点小钱,但很难成为一个长久的生意。 2. 依托于算法的技术壁垒会越来越低。 未来随着基础计算平台和开源平台的丰富成熟,技术方面的壁垒会越来越不明显,整个人工智能的技术准入门槛会越降越低。就像2008年你想找个IOS开发者,很难,现在却很容易一样,所有技术的演进都遵循这一规律。特别随着今天各大学的计算机专业,都纷纷开设机器学习课程,未来人才不缺,这会拉低整个行业的进入门槛。 同时随着谷歌TensorFlow等生态系统的成熟,很多领域都会有训练好的模型可以用来参考(出Demo会更快),创业者只要有足够的数据来训练参数就好了。所以未来算法的壁垒会越来越低,如果这个公司的核心竞争力只是算法,那将非常危险。 3.技术提供商如果不直接面向用户/客户提供整体解决方案,则非常容易被上下游碾压: 对于技术提供商和算法类公司,如果你的技术壁垒不够高,上游很可能直接把你的事做了。这样的例子比比皆是,比如给海康威视提供人脸识别算法的公司。问题就在于,海康在用你算法的时候,人家也有庞大的研发团队在研究自己的算法。现在用你是人家还没准备好,一旦准备好立刻会把你替换掉。 即使在有一定技术门槛的行业,技术提供商的日子同样并不好过。比如专注嵌入式的视觉处理芯片的Movidius,大疆无人机一直在用他们的芯片。但自从大疆统治了消费级无人机市场后,大疆现在也很自然地开始研发自己的芯片。 按说芯片的技术壁垒并不低,但只要行业集中度高,赢家就会选择通吃。比如做手机的厂商,出货量到了一个阀值,都有动力自己做芯片。像苹果、三星、华为还有现在的小米,都选择了自己做手机CPU。所以联发科、高通这些技术提供商,其实是挺痛苦的。 这其实是一个产业链通用规律:产业链上的垄断者会吃掉所有利润,而且他们非常有动力往上游或下游扩展。拿PC产业链举例,内存、硬盘、整机、显示器……都不赚钱。钱被谁赚走了?Windows和Intel却赚走了绝大部分利润。 既然做纯技术提供商没有出路,那怎么办?浩哥提出“一横一纵”理论。前期做技术服务可以,但是不能一辈子做技术服务。 “一横”就是指你提供的技术服务。通常“一横”能服务很多行业,一定要找到1、2个,你认为最有市场机会,最适合你的垂直领域,深扎进去做“全栈”:把技术转化为产品,然后搞定用户卖出去,实现商业变现,再通过商业反馈更多的数据,更加夯实自己的技术。 一句话讲,要做技术、产品、商业和数据四位一体的“全栈”,这就是“一纵”。 这才是健康的商业模式。 在垂直外的行业,因为没有利益冲突,你仍可老老实实的做技术服务。这样的话,商业上你能吃透一个垂直行业,技术上你还能通过横向合作,形成更多的数据回路,从而夯实你的技术。这个就是“一横一纵”理论。 那么对于技术创业公司,从“一横”走到“一纵”,要选哪个垂直领域,取决5个关键因素: 市场空间够不够大? 做垂直领域的全栈,还是做横向的技术提供商?取决市场空间哪个更大。找对垂直领域,即使只占一点点市场份额,也可能比做“一横”全归你的收益大。拿美图公司举例,他们有美图秀秀、美拍、美颜相机等APP,同时还会跟很多手机厂商合作,提供相机拍摄的美颜效果,你可以理解这就是技术服务。 但研究2016财报后,大家知道美图秀秀选的“一纵”是什么吗?就是美图手机。以上提到的技术服务都远没有垂直做美图手机赚钱。美图手机占了公司全部营收的93%。虽然美图手机去年的销量大约在74.8万台,仅仅只占国内手机市场全年销量5亿多台的不足0.15%。 行业集中度如何? 做“一横”技术提供商时,最担心的是你的上游或下游过于集中,或者说头部效应越明显,对技术提供商就越不利。举个简单的例子,IDC时代,HP、DELL等厂商卖服务器,都是直接卖给各IT公司,大家日子过的都很滋润。但2010年之后就很难做了,因为云计算出现了。 提供云计算的厂商就那几个,两只手就能数出来。而且头部效应极其明显,仅阿里云一家占了50%以上份额。如果你是一个技术提供商,在跟这么垄断的行业去谈判,你会发现没有任何筹码。所以现在就很悲催,假设我是阿里云,会让你列出BOM成本,我就给你5%或10%的利润,这个生意就很难做了。 在这种情况下,你当然有意愿也往上游走。但带来的问题是什么?如果上游集中度高,说明这事的壁垒很高,你作为技术提供商想往上走,同样很困难;如果这个上游集中度低或客户很零散,对你是件好事。但是你也没有太大动力往上游走,因为这个市场本来就很零散,你即使杀进去,可能只有1%的市场份额,而且使得99%的人都变成你的竞争对手了。这是个悖论。 技术是改良还是革命? 如果你的技术创新对这个垂直领域是革命性的,就越有机会走到上游。如果只是改良性的,你就老老实实在下游赚个辛苦钱算了。 越是颠覆性的东西,越有机会往上游走。因为上游越离不开你,意味着你有机会做他的事。 打个异想天开的比方,如果你能提供一个“待机一礼拜”的电池,那你就可以考虑自己做手机,你的手机只打一点:一星期不用充电,而且是全球唯一!就这一点可能就够了,因为这个技术是革命性的。相反,如果是改良性的技术,例如你的电池待机只是比以前多了10~20%,那你还是老老实实卖电池吧。 双方壁垒谁更高? 技术提供商的壁垒和上游客户的壁垒哪个更高,也决定做“一纵”的成败。拿比较火的直播平台而言,现在都有美颜功能,例如给女孩长出个耳朵那种,这个通常都是第三方提供的技术。技术本身的壁垒并不高,很多公司都能提供,虽然效果有一些小的差异,但你没有明显优势。 可是直播的壁垒相当高,这事有网络效应,用户越多会吸引更多的美女主播,因为能赚到更多钱,美女主播越多,也会带来更多的用户。同时你舍得花钱,需要很多资金来买流量以及签约很NB的主播。所以这个事壁垒很高。你做技术提供商壁垒不高。这种情况下,虽然技术提供商只能赚个辛苦钱,但是仍然完全没有机会往上游走。 到底跟团队基因相符不相符? 能做得了技术服务,不代表能做垂直解决方案,做全栈,因为团队不一定有行业经验,这是很大的问题。亚马逊的无人便利店Amazon Go出来之后,国内不少技术团队也想提供类似的技术,甚至想做2C的便利店。 与他们聊完后,我都会劝他们再考虑一下,你的技术再好,对于用户而言,他买东西的时候,会看这个便利店有人还是无人的吗?不会,这不是优先选项。他首要考虑的还是——哪个便利店离我更近,以及我想买的东西这个便利店有没有。 从这个意义讲,这又回到了零售的本质。所以如果团队没有零售的基因,没有懂零售的人,就别考虑自己开便利店的事。这时候,很多人可能会问“那我找个懂行业的高管不就行了么?”这事没那么简单,如果CEO不了解行业本质,其实是很难靠一个高管去弥补的。 我特别相信基因决定论,如果任何一个新的商业,BAT找个懂行业的高管就能搞定了,那中国互联网的生意就全是BAT的了,就没创业公司什么事了。BAT,一个做搜索,一个做电商,一个做社交。其实他们3个都把对方的事情已尝试了一遍,最后都不成功。所以大家能做什么,不能做什么,跟这个公司的基因是高度相关的。 第六个问题:2C vs 2B 最后一个问题,简单说一下,科技成熟都需要一定的时间。因为从任何技术普及演进的角度,几乎都延续了先是从军工(航天)、到政府、到企业、到B2B2C、再到2C这个规律。人工智能也一样,目前人工智能在2C市场还不是很成熟。 简单说机器人,在个人消费者市场,出货量大的机器人只有4类产品:扫地机器人、无人机、STEAM教育类机器人和亚马逊ECHO为代表的智能音箱。为什么2C市场早期的普及有一定的困难,简单讲几个原因: 1. 产业链不成熟 我做一个创新的东西,成品有10个部件。每一个部件都得自己做,而且因为出货量不大,每个部件都没有规模效应,这就导致每个部件都很贵,那你最后做出成品一定很贵。这是非常大的问题。 2. 2C是额外花钱 这也是很重要的一个问题,2C端的用户因为自掏腰包、额外花钱,所以对价格通常比较敏感,产品很贵就是一个很大的门槛。 3. 2C产品的用户期待度高 用户买了这么贵的东西,自然对产品的期待度会更高很多。大家觉得我买一个机器人回来,恨不得什么都能干:又能唱歌、又能跳舞、又能聊天、又能清洁、又能讲英语。但这是不现实的,现在的技术成熟度离此还有些远。 相对于2C端,这些问题在2B端却不是问题。 1. 2B端对价格承受能力更高 首先,企业对价格的承受能力显然比2C强很多。你说一个机器人2万,2C消费者不可能买,但企业问题不大,企业对成本承受能力高。 2. 2B的核心目的是降成本 举例工业机器人,10万块钱一个,听起来很贵。但一个工业机器人替代你2个岗位。这2个岗位一年也得10万块钱,还不算四险一金。然后这机器人能工作4年,这一下成本只有你原来的25%,甚至不到。那么企业一算账,觉得还是很便宜。 3. 2B可以采取人机混合模式 还有2B端的机器人应用更简单一些。一方面大多是单任务,机器人只要做好一件事就行了,实现起来简单。另外,很多都是以”人机混合”模式在作业。也就是以前需要10个人干活,现在我用机器人替代一半人。简单重复的工作用机器人替代,复杂的用剩下的5个人,这就是”人机混合”模式。 举个例子,现在国内外已有很多安保机器人,按固定路线去巡逻。你可以理解为移动的摄像头,当然算法上肯定加入了一些识别的东西。固定绕路线巡逻,这个完全可以交给机器人来做。难的是,在巡逻的过程中,如果发现有老太太摔倒了,让机器人扶起来,这个目前还做不到。 但这不重要,你们后台不还有5个人么,让他们过来就好了。所以人机混合是2B比较主流的模式,这个大幅降低了机器人普及的难度。 最后再说一点,目前大多数AI创业公司都是技术专家主导,这很容易理解,因为现在技术还有壁垒,技术专家主导起码保证产品能做出来。 不过未来随着技术门槛的降低,特别在“非关键应用”领域里,团队的核心主导,会慢慢过渡到产品经理和行业专家为主,因为他们离用户需求最近。“ 非关键应用 ” 领域,懂需求比技术实现更重要。长期来看,人工智能创业和任何其他领域的创业一样,一定是综合实力的比拼! 本文采用「CC BY-SA 4.0 CN」协议转载自互联网、仅供学习交流,内容版权归原作者所有,如涉作品、版权和其他问题请给「 我们 」留言处理。
数据分析
2017-10-17 00:24:00
  C114 讯 8 月 24 日消息(南山)国务院日前印发《新时期促进集成电路产业和软件产业高质量发展的若干政策》,明确提出集成电路产业和软件产业是信息产业的核心,是引领新一轮科技革命和产业变革的关键力量。文件要求我国芯片自给率从目前的 30%,在 2025 年达到 70%。   据台媒报道,台湾半导体产业界担忧更多人才因此西进大陆。联发科等企业近期不断向台湾地方政府呼吁“开放政策工具”,例如针对半导体研发人员,取消分红费用化,让公司可以用分红配股,留住珍贵的人才,否则台湾脑力被买完,半导体业也没了竞争力。   台湾半导体业人士指出,对岸来台高薪挖角已非新闻,近期态度更加积极,不但薪水优渥、从香港支付,“连人都不用去大陆”,恐引发第三波台湾半导体人才出走。半导体业者最近还去见了地方官员,提出建议,希望开放政策工具留住人才,积极放宽业者招募国际人才条件,“攻击才是最佳的防守”。   就在近期,日本媒体报道中国大陆两家半导体企业高新挖走了台积电百余名人才。不过台积电董事长刘德音事后予以否认。
互联网
2020-08-24 13:40:00
在实际的工作中, 数据科学家 们不仅要学会如何实用工具,还要懂得如何与同事合作。The Yhat Blog这篇文章探讨了在实际的数据建模和数据处理的过程中数据科学家和 数据工程师 应该如何处理好关系顺利地完成项目的问题。它引用“摩西十诫”的典故,提出了给数据处理者的五个“诫律”。我们一起来参考一下! 数据科学家和工程师的“五诫” 1.了解你的数据 好的模型依赖于好的数据。要建立真正具有生产力的模型,数据科学家需要知道他们基于创造和存储产品的数据库是否可靠,以及数据库更新的频率。这些信息在项目开始之前就应该被收集并且分享给工程团队,以避免项目进程之中可能产生的阻碍。 在一个理想的世界里,科学家和工程师都应该提前做好应对即将发生的变化的准备(例如,多种变量类型之间的变化),使他们能够据此共同创建,测试和部署相应的新版本。即使不能够保证避免每一个程序中的事故,共享资源和尽早发现缺陷也可以使工程师们降低风险和预见解决可能出现问题的部分。 2.熟悉合作伙伴使用的工具 数据科学家运用的主要编程语言是R或Python,这种语言便于数据的清洁,探索和建模。而工程师,却需要使用多种不同的工具集来构建可扩展的网络和移动应用程序(例如,NET、Ruby on Rails、Node.js 或 JVM)。虽然期望一个人完全懂得使用这两套工具是不切合实际的,但是跨过技术“藩篱”的限制对对方使用的语言和流程有一个基本的了解将大大有助于合作的开展。 将统计代码手动重新编写为另一种语言是一项费时费力又极其容易犯错的工程,所以当出现问题的担忧增加的时候,建立良好的沟通机制(面对面和网络数字化的)绝对是至关重要的。 3.了解技术的局限 当数据科学家和工程师运用不同的工具包工作的时候必然会遇到技术的限制。这常常使他们发狂,因为没有人喜欢被要求返工,或者看着自己辛勤劳作创造出来的产品不理想,甚至更糟糕,看到自己的辛勤劳动付诸东流。 一旦你清楚了模型开发和部署所需要使用的语言(见诫条2),就应该花时间研究一下使用这种语言做什么是可能的,什么是完全不能够实现的。然后就应该设定定期的跨职能讨论会的时间表,科学家和工程师双方要经常沟通例如:你考虑在哪些方面做一些突破双方在哪些地方可以做出让步哪些又是技术完全实现不了的有没有其他选择要实施需要付出多少努力这些努力符合商业价值的考量吗 在实际工作中,假设你是一个数据科学家正在为一个Ruby编写的APP编写一段使用R语言的反欺诈算法,那么你应该知道的是R的GLM功能(用于构建广义线性模型的函数),在Ruby(或Java,对这个问题来说)中并没有相对应的本地功能。这时候就需要大家一起来一场头脑风暴来找寻出路啦。 4.互相尊重 在任何时候,一个数据科学家的工作总是需要大家共同的努力才能够完成,在这个过程中充满了产生误解的可能。那我们的建议是什么呢就是像老话讲的,己所不欲,勿施于人。 对于数据科学家来说,你要做的就是写出便于维护和使用的高质量的代码,积极听取工程师关于重构模型和采取更好替代方法的建议,询问他们怎样才是一个现实的可实行的时间表,你还能提供哪些帮助等。 对于工程师来说,与数据科学家合作,需要明确必须的职责,并且共同商讨达成一份书面的处理问题的优先次序文件,遵循一个不断更新的和现实的路线图,并根据项目的进程不断检验、细化和落实科学的数据模型。 5.履行你的责任和义务 有人认为一个模型一旦创造出来,并且投入了实际的商业运用,无论是创造它的数据科学团队,还是实现了它的工程师们就可以自由地着手下一个大项目,不需要再管理这个项目了。这种想法是非常危险的。事实上,这只是分析的生命周期的另一阶段的开始。 因为,数据科学家和工程师建立生产过程中的监控和管理模型的计划是非常重要的。谁将会监督模型和服务器的稳定性如何将输入和输出数据存储和共享升级版本,再培训和重新测试的路线图是什么还要为解决可能出现的问题制作一个行动计划。如果模型吞吐量增加怎么办扩展需要花费多少时间和金钱由此确定共同承认的公平的前期职责划分,相应地分配团队成员的工作时间。 总结 数据科学家和数据工程师都在朝着同一个目标努力:运用代码建造程序来解决实际的商业问题。不幸的是,误解和技术效率低下常常导致人们忽略了这一目标。当我们在工作中处理和他人的关系的时候,虽然没有万能的神奇公式,但是这五个诫律应该可以在消除数据工程师和数据科学家之间的鸿沟上产生深远的影响。 本文翻译编辑者是沈浩老师门下硕士研究生赵晨 来自微信号:沈浩老师(artofdata) 本文采用「CC BY-SA 4.0 CN」协议转载自互联网、仅供学习交流,内容版权归原作者所有,如涉作品、版权和其他问题请给「 我们 」留言处理。
数据分析
2016-08-17 13:48:00
  每经记者李星每经编辑裴健如   “BaaS(即 Battery as a Service)用户在购车时可不购买电池,从而无需承担电池的购置成本。”日前,蔚来汽车董事长李斌表示,BaaS 的推出,将大幅降低电动车的购车门槛,更好平衡购车成本与用车成本。BaaS 模式下,用户的电动车购车成本和用车成本都将低于同级别品牌的汽油车。   图片来源:企业供图   8 月 20 日,蔚来电池租用服务 BaaS 正式发布。据了解,蔚来电池租用服务 BaaS 通过将电池从整车中分离出来,提供了车电分离、电池租用、可充可换可升级的服务。   据悉,BaaS 用户可根据实际使用需求,选择租用不同容量的电池包,按月支付服务费。根据蔚来汽车制定的 BaaS 收费标准,选择 BaaS 模式购买蔚来汽车全系车型,售价将比整车购价少 7 万元,而选择租用 70kWh 的电池包,用户需缴纳每月服务费 980 元以及非服务无忧用户另须支付每月 80 元电池保障费用。   图片来源:企业供图   这意味着,选择 BaaS 的用户,每个月要缴纳的电池租用费及电池保障费至少将超 1060 元。6 年后,用户花了原整车(含电池)的购车钱,但最后电池还不是自己的。所以,对很多人来说,蔚来的 BaaS 计划并不划算。   “BaaS 更多的是为那些想购买蔚来汽车,却在短时间内资金受限的用户提供便利。”蔚来汽车负责 NIO Power 业务的相关人士解释称,BaaS 还可以解决电动车电池贬值快及损耗等难题,为后期车辆转手提供保障。   在李斌看来,BaaS 优势主要集中在两方面:一方面,在 BaaS 模式中,用户购买的只是车架,电池的损耗和贬值与用户毫无关系,用户也无需担心电池的损耗和贬值,同时电池贬值也不会对车架价值带来影响;另一方面,BaaS 模式还将体系性解决电池衰减、电池无法升级、车辆保值率变动大等影响电动汽车普及的难题。   图片来源:企业供图   对于 BaaS 模式下的电池租用所需费用问题,蔚来汽车方面表示,每月 980 元的电池服务费,5 年内不会调价。“我们做价格定价时,考虑得比较长远,包括车的价格、电池成本等。”李斌表示,每个月 980 元的服务费,是充分考虑了各方面因素确定的一个长期定价,公司不会轻易调价。但在“灵活升级”业务方面将存在变量,如 70 元~100 元的价格将根据供需情况来灵活确定。   除选择租用 70kWh 电池包外,蔚来汽车后续还将推出其他容量电池组租赁方案,BaaS 模式下的购车车主可随意切换不同套餐。   数据显示,截至 8 月 20 日,蔚来已获得换电相关专利超过 1200 项,在全国范围内已建成换电站 143 座,累计为用户完成换电服务超过 80 万次。   记者了解到,蔚来电池租用服务 BaaS 后续所需电池将由武汉蔚能电池资产有限公司(以下简称武汉蔚能)提供。   启信宝数据显示,武汉蔚能成立于 8 月 18 日,由蔚来汽车、宁德时代、湖北省科技投资集团有限公司和国泰君安国际控股有限公司(以下简称国泰君安国际)共同注资成立,注册资本为 8 亿元,上述四家股东分别出资 2 亿元,各持股 25%。   事实上,武汉蔚能是基于“车电分离”模式成立的一家电池资产管理公司,BaaS 业务是其最先推出的业务模式。目前,武汉蔚能的主要作用是从蔚来购买电池,并委托蔚来为用户提供电池租用运营服务。“作为电池资产持有方,武汉蔚能是蔚来电池租用服务 BaaS 得以实现的关键一环。”上述 NIO Power 相关负责人表示。   值得注意的是,武汉蔚能是一家独立存在的公司。“武汉蔚能本身是独立的,管理团队将由蔚来及其他股东推荐,不存在任何一家股东派驻的概念。”李斌表示。   对于武汉蔚能的控制权,李斌告诉记者,蔚来汽车只会是电池资产公司的股东方之一,不会成为其控制者。未来,蔚来拥有的公司股份只会少不会多。“目前,已有一些新股东会加入,正在走相关程序。”李斌透露。   据了解,武汉蔚能并不仅限于为蔚来汽车提供服务。“未来,它将为更多不同品牌电动汽车基于 BaaS 模式提供资产服务。”一位蔚来汽车内部人士告诉记者。
互联网
2020-08-24 13:30:00
  据国外媒体报道,在瑞典政府决定取消自动驾驶测试项目的时间限制后,特斯拉的 Autopilot(自动辅助驾驶系统)和其他驾驶辅助套件将在瑞典进行扩展测试。   特斯拉的 Autopilot 系统一直以来都很引人注意,但它也引起了很大的争议。在 Autopilot 系统启动的情况下,特斯拉汽车曾发生了多起事故。   此前,该公司曾表示,它的 Autopilot 系统只是部分实现了自动化,比如使汽车保持在车道上,与前方车辆保持安全距离。它只是为了辅助司机,司机必须随时准备干预。   据悉,特斯拉的 Autopilot 系统也在不断改进,这要归功于该公司的神经网络,该网络在该公司的半自动驾驶功能被使用时充当大脑。   去年 5 月,知情人士透露,特斯拉再次重组了 Autopilot 软件团队,该团队由马斯克亲自掌管。
互联网
2020-08-24 13:18:00
  集微网报道 据 HEVC Advance 官方 8 月 17 日消息,HEVC Advance 的 HEVC/H.265 专利池中的部分专利权?在德国杜塞尔多夫地区法院提起针对 Vestel Germany GmbH (以下简称“Vestel”) 和 Xiaomi Technology Germany GmbH、Xiaomi Technology Netherlands B.V.、Xiaomi Technology France S.A.S. 和 Xiaomi Inc. (以下统称“小米”)的专利诉讼,称这几家公司侵犯了 HEVC/H.265 数字视频压缩标准的必要专利。   这是小米半年之内第二次因 HEVC/H.265 专利遭遇海外诉讼。就在 7 月 30 日,据外媒消息,一家美国公司 InterDigital,Inc.(NASDAQ:IDCC)在印度对小米发起两起专利侵权诉讼,其中一起便涉及 IDCC 三项H.265 印度专利。IDCC 挑选中印关系紧张时期在印度对小米发起诉讼,让小米陷入被动境地,业界判断小米有较大可能选择和解。   与 IDCC 案相似,HEVC Advance 同样是有备而来。在诉 Vestel 和小米之前,其刚刚赢得另一场H.265 标准必要专利诉讼,法院还在诉讼中确认 HEVC Advance 向被告提供的专利使用费费率是符合 FRAND 原则的。值得一提的是,做出上述裁定的法院就是德国杜塞尔多夫地区法院。   HEVC Advance   此次诉讼其中一方 HEVC Advance 是一家独立的许可管理机构,以帮助企业快速有效获得 HEVC/H.265 标准必要专利为目的。据官网消息,截至目前,已有 29 家H.265 专利许可方加入该专利池,相关专利超 13000 件,专利池合规被许可方 166 家。从专利清单来看,三星是该专利池最大的专利许可方,其次是 GEVC(GE Video Compression, LLC),华为也是该专利池中专利持有量最多的许可方之一。   而另一方,Vestel 隶属于土耳其家庭和专业家电制造公司,在德国提供包含 HEVC/H.265 技术的电视机和机顶盒,小米则在德国提供包含 HEVC/H.265 技术的移动通讯产品。   HEVC Advance 此次针对 Vestel 和小米发起专利诉讼,可能是一石二鸟之计。一方面迫使这两家公司成为该专利池的被许可方,另一方面也是对 Vestel 的回击。2019 年 2 月,Vestel 在英国对 HEVC Advance 及该专利池许可方之一飞利浦提起诉讼,要求法院禁止对方在标准基本专利和许可费方面滥用支配地位的行为。HEVC Advance 和飞利浦随即提出管辖权异议,并于 2019 年 12 月获得管辖权异议案胜诉。   HEVC Advance 的专利权人选择在德国杜塞尔多夫地区法院提起诉讼可能并非偶然。该法院今年 5 月刚刚在另一起H.265 专利侵权案中,做出有利于 HEVC Advance 专利许可方的判决。该案被告为 MAS Elektronik Aktiengesellschaft(简称“MAS”),而原告为 HEVC Advance 的专利权人 GEVC、杜比实验室和飞利浦。杜塞尔多夫地区法院判定 MAS 产品侵犯涉诉专利,并宣布 HEVC Advance 向 MAS 提供的许可条款和特许权使用费费率是公平、合理和非歧视性的。   InterDigital   这已经是小米在年内第二次遭遇海外专利诉讼。7 月 30 日,据外媒消息,IDCC 在印度新德里的德里高等法院对小米发起专利诉讼,要求小米停止侵权并支付惩罚性赔偿。除此之外,IDCC 还在进一步寻求禁令救济。   IDCC 是美国一家数字移动和视频技术开发商,近年来活跃于通信领域专利诉讼舞台,已成为一家 NPE。今年 4 月,该公司刚刚结束与华为的长期诉讼。记者翻阅该公司财报发现,2012 年以来,专利收入已成为 IDCC 最主要的收入来源,占比高达 90%。在美国专利数据库中,IDCC 所持有专利共 11658 件,但近年来发明专利申请量不足 100 件。   据报道,IDCC 在印度起诉小米前已经过数年谈判,显然其意在以诉讼促和谈。众所周知,处理专利诉讼需要耗费的时间、精力、资金等代价较大。在部分敏感时期,如 IPO 上市前、新品发布期、市场争夺关键期等,专利诉讼“杀伤力”可能非常大。当前,中印关系趋于紧张,印度抵制中国制造浪潮兴起,进军印度的国产厂商多低调处事。在这一背景下,IDCC 提起针对小米的诉讼,对小米是极为不利的。业界认为,小米可能更倾向于“破财消灾”,与 IDCC 和解。   而 IDCC 起诉小米所使用的专利,其中两项正是H.265 专利。   H.265   H.265 又称 HEVC(高效率视频编码技术标准),是H.264 的升级版。早在 2012 年 8 月已经被推出,2013 年 2 月,国际电联正式批准通过 HEVC/H.265 标准。相比于上一代的H.264,H.265 压缩效率提升一倍,对于用户来说意味着更流畅地视频播放、更低的延迟和更小的存储空间。然而,直到今天市场上最流行的视频编码标准仍然是H.264。原因之一正是复杂而高昂的专利许可费用问题,而这也是小米屡遭H.265 专利狙击的原因之一。   不同于H.264,只要和 MPEG LA 签订许可协议就可能解决 80% 以上的专利问题,H.265 相关专利池有三家,且收费标准不一。   H.265 三家专利池分别是 MPEG LA、HEVC Advance 和 Velos Media。HEVC Advance 诞生于 2015 年,由杜比、飞利浦、三菱、GE 等发起组成。按照 HEVC Advance 的费率计算,每台电视需要支付 1.50 美元专利费、手机每台 0.80 美元,流媒体播放器、机顶盒、游戏主机、蓝光影碟机、DV 录像机、投影仪、数字媒体存储设备、GPS 导航仪、数码相框等则是每台 1.10 美元。对于部分出货量较大的业内巨头来说,每年仅这一项专利费用可能就超过 1 亿美元。MPEG LA 则给出设备厂商每年前 10 万台设备免费、之后每台收费 0.20 美元以及每年 2500 万美元封顶的条件。   且不同专利池所包含的专利可能存在重合。毕竟有实力提前布局H.265 标准专利的企业有限,且一家企业并不限定只能加入一个专利池。如佳能、NEC 等企业既是 HEVC Advance 的专利权人,也是 MPEG LA 专利池中 HEVC 专利的许可人。   这给H.265 专利的实施带来极大不便。Vestel 就曾在诉讼时表示,与 HEVC Advance 相比,MPEG LA 包含了更多H.265 标准必要专利,同时以低于 HEVC 的特许权费率提供许可。而且 HEVC Advance 中约 1581 个标准必要专利也在 MEPG LA 中。   今年 1 月,小米正式宣布加入 MPEG LA,彼时,小米知识产权战略和全球业务发展副总裁 Paul Lin 表示:“像小米这样的 HEVC 技术的重要实现者收到了加入多个 HEVC 专利池的邀请。虽然小米认为许可池方法可以非常有效,但多个专利池对技术实施者造成了有害的许可费堆积问题。因此,小米强烈鼓励合并成一个池,为整个 HEVC 标准提供公平合理的使用费。”   国际标准专利许可费率的最终达成,往往都会经历大量的博弈和较量,MPEG LA HEVC 和 HEVC Advance 之间的博弈鹿死谁手尚难定论。不过,随着H.266 标准化进程的推进,H.265 的普及继续遭遇专利费用拦路显然是不合时宜的。
互联网
2020-08-24 13:12:00
  新冠疫情很大程度上改变了我们的生活工作方式,而且佩戴口罩已经成为新常态。谷歌应用在近日的更新中,天气区域的吉祥物小青蛙也佩戴上了口罩。这只吉祥物一直存在于谷歌应用的天气区域,会根据用户所在地区的天气情况做各种不同的事情。   在近日的图形更新中,这个深受用户青睐的两栖动物吉祥物戴上了口罩。这个变化最早是 Reddit 社区成员发现的,目前正向所有用户推广部署。当你在谷歌应用中搜索“Weather”(天气)或者使用 Pixel 的“At a Glance”小部件,就能看到这个小青蛙戴上了口罩。
互联网
2020-08-25 07:58:00
摘要:在微博上收藏了一个技术贴,作者是 Savvs Tjortjoglou(Twitter:@savvas_tj)。他之前的一篇NBA投篮绘图在内地网络上挺火的,几个微信公号都有推,今天看的这一个帖子原题是:How to Track NBA Player Movements in Python ,我尝试着模拟了一遍,加了一点自己的元素,感觉非常不错! 首先,可以进入NBA官网的stats看看,非常详细的统计,主菜单栏里Stats中有一个SportVU Player Tracking,当然还有Team Tracking。里面的可视化呈现相当美观。Intro里写到:Player Tracking is the latest example of how technology and statistics are changing the way we understand the game of basketball. 大数据 的力量的确给传统运动带来了革兴,SportVU是一个软件,它依靠NBA赛场过道(catwalks)上安装的6台摄像机,追踪赛场上每个运动员和篮球本身的移动轨迹,追踪速度是25次/s,通过处理,摄像机收集到的数据为运动速度、运动距离、球员间距、控球等要素的分析提供了极为丰富的统计数据库。 对于美国的运动数据统计能力感到惊讶!但强大的Python当然可以在自我理解下处理这些丰富的数据。 Part 1.引入模块 导入的模块大多数是比较常用的。其中的seaborn是一个统计 数据可视化 模块,画出的图形很美观,实际上在后面的操作中几乎没有用seaborn画图,还是依靠pandas、matplotlib组合。 import seaborn as sns, numpy as np, requests, pandas as pd %matplotlib inline import matplotlib.pyplot as plt from IPython.display import IFrame 因为是可视化,接下来设计画布风格和颜色,直接参考seaborn文档,五种风格分别是:darkgrid,whitegrid,dark,white,ticks。写以下两行代码: sns.set_color_codes() sns.set_style(‘white’) 接着,用IFrame导入一个网站上的既有Demo。 IFrame(“ http://stats.nba.com/movement/#!/GameID=0041400235&GameEventID=308 “, width = 700, height = 400) IFrame可以将任何网页导入到IPython Notebook,其他的IDE应该也有类似的嵌入工具。 是个动态小视频,发现IFrame这么好玩,我接下来导入一个自己原来的Tableau作品,效果也是同样好。 IFrame(“ https://public.tableau.com/profile/luochen#!/vizhome/_2861/BibleCrossReference “, width = 800, height = 1000) Part 2.获取数据 NBA官网数据库有API,两个参数:evenid,gameid。后者是这个playoff game的id。用Requests来解析网页而不是用urllib2,我感觉比较奇怪,但是之前也有用过Requests,发现它的slogan是HTTP for Humans,好大的口气!但是操作,尤其是对API的操作较urllib2简化了很多。 url =” http://stats.nba.com/stats/locations_getmoments/eventid=308&gameid=0041400235 ” r = requests.get(url) r.json().keys() 轻松把源网页转成json格式,并读取所有键,共5个: [u’moments’, u’visitor’, u’gamedate’, u’gameid’, u’home’] 我们需要的数据主要是: home:主场队员的数据 visitor:客场队员的数据 moments:用来绘制运动轨迹的数据 所以接下来就明晰了: home = r.json()[‘home’] visitor = r.json()[‘visitor’] moments = r.json()[‘moments’] 前面两个都print一下,结构都很明确直观。 moments是结构最为浩大的数据,毕竟是摄像机每秒25次得到的,先看看它的长度,是700,所以撷一叶而知秋。 moments[0] 结构是这样的,说明就添在后面了: [3,#赛季,period or quarter 1431486313010L,#时间戳unix-time in mills,转为可读时间大概是:05/13/2015 3:05am UTC 715.32,#距离比赛结束的时间,game clock 19.0,#距离投球结束的时间,shot clock None,#不懂,反正是空值就不必要care [[-1,-1, 43.51745, 10.76997, 1.11823],#关于球的信息,前两个数是比赛双方的teamid和playerid;中间两个数是球在球场上的坐标,最后一个数是球的半径,球越高半径越大。 [1610612745, 1891, 43.21625, 12.9461, 0.0],#后10个列表是关于球场上10个队员的信息。意义和第一个关于球的信息列表一致。 [1610612745, 2772, 90.84496, 7.79534, 0.0], [1610612745, 2730, 77.19964, 34.36718, 0.0], [1610612745, 2746, 46.24382, 21.14748, 0.0], [1610612745, 201935, 81.0992, 48.10742, 0.0], [1610612746, 2440, 88.12605, 11.23036, 0.0], [1610612746, 200755, 84.41011, 43.47075, 0.0], [1610612746, 101108, 46.18569, 16.49072, 0.0], [1610612746, 201599, 78.64683, 31.87798, 0.0], [1610612746, 201933, 65.89714, 25.57281, 0.0]]] 最理想的 数据分析 模型是pandas的数据框,所以为数据框的建立做准备,接下来的一个代码段就是Python基础。 headers =[‘team_id’,’player_id’,’x_loc’,’y_loc’,’radius’,’moment’,’game_clock’,’shot_clock’] player_moments=[] for moment in moments: for player in moment[5]: player.extend((moments.index(moment)#索引值, moment[2]#game clock, moment[3]#shot clock))#扩展列表 player_moments.append(player)#扩展空列表 player_moments[0: 11] 非常规整的列表,列表中的每个构成元素也是列表,和上面的样式基本保持一致。接下来构建DataFrame。 df = pd.DataFrame(player_moments, columns = headers) df.head(11) 最好加上运动员名字,会方便后续分析。 players = home[‘players’] players.extend(visitor[‘players’])#所有运动员的名字 id_dict ={} for player in players: id_dict[player[‘playerid’]]=[player[‘firstname’]+””+ player[‘lastname’], player[‘jersey’]] id_dict 是一个规整的字典,内部的值是列表。 用map方法来在原来的df中添加一列play_name列和player_jersey列,根据player_id来把name和jersey对应在正确的位置。写完这一段代码后, 我觉得这里的map方法和Excel中的VLOOKUP十分相似,可见数据分析的内核是相通的 。 df[‘player_name’]= df.player_id.map(lambda x: id_dict[x][0]) df[‘player_jersey’]= df.player_id.map(lambda x: id_dict[x][1]) df.head(11) Part 3.绘制 可以选择任何一位运动员来绘制他的对应轨迹,这里选择James Harden,虽然我完全不看球赛,也不知道他是谁,我是根据原案例选的。对于背景图,可以自己用matplotlib绘制,一笔一笔的,非常困难。所以我们用一张上面Demo的底图,转化为PNG格式就行。这一工作主要是考察matplotlib.pyplot的操作能力。 harden = df[df[‘player_name’]==’James Harden’]#选择James Harden这一行的数据 court = plt.imread(“图像地址”) plt.figure(figsize =(15, 11.5)) plt.scatter(harden.x_loc, harden.y_loc, c = harden.game_clock, cmap = plt.cm.Blues, s = 1000, zorder = 1) #用散点图绘制轨迹;cmap = plt.cm.Blues,用colormap来设置随着game_clock变动而发生的轨迹颜色变化,越接近结束时间颜色越淡。 #zorder = 0 设定Harden运动轨迹下的赛场线 cbar= plt.colorbar(orientation =’horizontal’)#图例横向摆放 cbar.ax.invert_xaxis() plt.imshow(court, zorder = 0, extent =[0, 94, 50, 0]) #原图中的原点(0, 0)在左上角,所以我在本图中继续按照这个标准设置原点,(0, 94)为x轴的范围,(50, 0)为y轴的范围。 在第一部分Demo的演示中,13号Harden一度出界,所以需要扩展x轴的范围。 plt.xlim(0, 101) plt.show() Part 4.欧几里得距离计算并绘图 根据连续点的坐标来计算Euclidean距离。 scipy.spatial.distance中可以直接计算欧氏距离,但是这里用numpy模块可以写出计算过程。 def travel_dist(player_loc): diff = np.diff(player_loc, axis = 0) dist = np.sqrt((diff ** 2).sum(axis = 1)) return dist.sum() dist = travel_dist(harden[[‘x_loc’,’y_loc’]]) #显然连续点需要传递坐标点的x,y值,而diff正是计算了前后两个点之间的距离。 可以用pandas中的groupby与apply来计算每一个运动员的移动距离。 player_travel_dist = df.groupby(‘player_name’)[[‘x_loc’,’y_loc’]].apply(travel_dist) player_travel_dist 转化为数据框,并直接用pandas内置方法画图,由于距离可能会比较长,选择条形图应该比选择柱形图更适合展现。 df2 = pd.DataFrame(player_travel_dist) df2.plot(kind =’barh’, style =’g’) 最后可以看出,除了篮球本身的移动距离外,James Harden的移动距离最长。 写到这里,还有很多可以继续深入分析的内容。 作者: Lyndon 本文采用「CC BY-SA 4.0 CN」协议转载自互联网、仅供学习交流,内容版权归原作者所有,如涉作品、版权和其他问题请给「 我们 」留言处理。
数据分析
2016-03-17 23:08:00
摘要:Awesome Python ,这又是一个 Awesome XXX 系列的资源整理,由 vinta 发起和维护。内容包括:Web框架、网络爬虫、网络内容提取、模板引擎、数据库、 数据可视化 、图片处理、文本处理、 自然语言处理 、 机器学习 、日志、代码分析等。 代码下载地址: https://github.com/vinta/awesome-python 受 awesome-php 的启发,整理了 Python 框架、类库和工具列表。 环境管理 管理 Python 版本和环境的工具 p – 非常简单的交互式 python 版本管理工具。 pyenv – 简单的 Python 版本管理工具。 Vex – 可以在虚拟环境中执行命令。 virtualenv – 创建独立 Python 环境的工具。 virtualenvwrapper – virtualenv 的一组扩展。 包管理 管理包和依赖的工具。 pip – Python 包和依赖关系管理工具。 pip-tools – 保证 Python 包依赖关系更新的一组工具。 conda – 跨平台,Python 二进制包管理工具。 Curdling – 管理 Python 包的命令行工具。 wheel – Python 分发的新标准,意在取代 eggs。 包仓库 本地 PyPI 仓库服务和代理。 warehouse – 下一代 PyPI。 Warehouse bandersnatch – PyPA 提供的 PyPI 镜像工具。 devpi – PyPI 服务和打包/测试/分发工具。 localshop – 本地 PyPI 服务(自定义包并且自动对 PyPI 镜像)。 分发 打包为可执行文件以便分发。 PyInstaller – 将 Python 程序转换成独立的执行文件(跨平台)。 dh-virtualenv – 构建并将 virtualenv 虚拟环境作为一个 Debian 包来发布。 Nuitka – 将脚本、模块、包编译成可执行文件或扩展模块。 py2app – 将 Python 脚本变为独立软件包(Mac OS X)。 py2exe – 将 Python 脚本变为独立软件包(Windows)。 pynsist – 一个用来创建 Windows 安装程序的工具,可以在安装程序中打包 Python本身。 构建工具 将源码编译成软件。 buildout – 一个构建系统,从多个组件来创建,组装和部署应用。 BitBake – 针对嵌入式 Linux 的类似 make 的构建工具。 fabricate – 对任何语言自动找到依赖关系的构建工具。 PlatformIO – 多平台命令行构建工具。 PyBuilder – 纯 Python 实现的持续化构建工具。 SCons – 软件构建工具。 交互式解析器 交互式 Python 解析器。 IPython – 功能丰富的工具,非常有效的使用交互式 Python。 bpython – 界面丰富的 Python 解析器。 ptpython – 高级交互式Python解析器, 构建于 python-prompt-toolkit 之上。 文件 文件管理和 MIME(多用途的网际邮件扩充协议)类型检测。 imghdr – (Python 标准库)检测图片类型。 mimetypes – (Python 标准库)将文件名映射为 MIME 类型。 path.py – 对 os.path 进行封装的模块。 pathlib – (Python3.4+ 标准库)跨平台的、面向对象的路径操作库。 python-magic – 文件类型检测的第三方库 libmagic 的 Python 接口。 Unipath – 用面向对象的方式操作文件和目录 watchdog – 管理文件系统事件的 API 和 shell 工具 日期和时间 操作日期和时间的类库。 arrow – 更好的 Python 日期时间操作类库。 Chronyk – Python 3 的类库,用于解析手写格式的时间和日期。 dateutil – Python datetime 模块的扩展。 delorean – 解决 Python 中有关日期处理的棘手问题的库。 moment – 一个用来处理时间和日期的Python库。灵感来自于Moment.js。 PyTime – 一个简单易用的Python模块,用于通过字符串来操作日期/时间。 pytz – 现代以及历史版本的世界时区定义。将时区数据库引入Python。 when.py – 提供用户友好的函数来帮助用户进行常用的日期和时间操作。 文本处理 用于解析和操作文本的库。 通用 chardet – 字符编码检测器,兼容 Python2 和 Python3。 difflib – (Python 标准库)帮助我们进行差异化比较。 ftfy – 让Unicode文本更完整更连贯。 fuzzywuzzy – 模糊字符串匹配。 Levenshtein – 快速计算编辑距离以及字符串的相似度。 pangu.py – 在中日韩语字符和数字字母之间添加空格。 pyfiglet -figlet 的 Python实现。 shortuuid – 一个生成器库,用以生成简洁的,明白的,URL 安全的 UUID。 unidecode – Unicode 文本的 ASCII 转换形式 。 uniout – 打印可读的字符,而不是转义的字符串。 xpinyin – 一个用于把汉字转换为拼音的库。 Slug化 awesome-slugify – 一个 Python slug 化库,可以保持 Unicode。 python-slugify – Python slug 化库,可以把 unicode 转化为 ASCII。 unicode-slugify – 一个 slug 工具,可以生成 unicode slugs ,需要依赖 Django 。 解析器 phonenumbers – 解析,格式化,储存,验证电话号码。 PLY – lex 和 yacc 解析工具的 Python 实现。 Pygments – 通用语法高亮工具。 pyparsing – 生成通用解析器的框架。 python-nameparser – 把一个人名分解为几个独立的部分。 python-user-agents – 浏览器 user agent 解析器。 sqlparse – 一个无验证的 SQL 解析器。 特殊文本格式处理 一些用来解析和操作特殊文本格式的库。 通用 tablib – 一个用来处理中表格数据的模块。 Office Marmir – 把输入的Python 数据结构转换为电子表单。 openpyxl – 一个用来读写 Excel 2010 xlsx/xlsm/xltx/xltm 文件的库。 python-docx – 读取,查询以及修改 Microsoft Word 2007/2008 docx 文件。 unoconv – 在 LibreOffice/OpenOffice 支持的任意文件格式之间进行转换。 XlsxWriter – 一个用于创建 Excel .xlsx 文件的 Python 模块。 xlwings – 一个使得在 Excel 中方便调用 Python 的库(反之亦然),基于 BSD 协议。 xlwt / xlrd – 读写 Excel 文件的数据和格式信息。 relatorio – 模板化OpenDocument 文件。 PDF PDFMiner – 一个用于从PDF文档中抽取信息的工具。 PyPDF2 – 一个可以分割,合并和转换 PDF 页面的库。 ReportLab – 快速创建富文本 PDF 文档。 Markdown Mistune – 快速并且功能齐全的纯 Python 实现的 Markdown 解析器。 Python-Markdown – John Gruber’s Markdown 的 Python 版实现。 YAML PyYAML – Python 版本的 YAML 解析器。 CSV csvkit – 用于转换和操作 CSV 的工具。 Archive unp – 一个用来方便解包归档文件的命令行工具。 自然语言处理 用来处理人类语言的库。 NLTK – 一个先进的平台,用以构建处理人类语言数据的 Python 程序。 jieba – 中文分词工具。 langid.py – 独立的语言识别系统。 Pattern – Python 网络信息挖掘模块。 SnowNLP – 一个用来处理中文文本的库。 TextBlob – 为进行普通自然语言处理任务提供一致的 API。 TextGrocery – 一简单高效的短文本分类工具,基于 LibLinear 和 Jieba。 文档 用以生成项目文档的库。 Sphinx – Python 文档生成器。 awesome-sphinxdoc MkDocs – 对 Markdown 友好的文档生成器。 pdoc – 一个可以替换Epydoc 的库,可以自动生成 Python 库的 API 文档。 Pycco – 文学编程(literate-programming)风格的文档生成器。 配置 用来保存和解析配置的库。 config – logging 模块作者写的分级配置模块。 ConfigObj – INI 文件解析器,带验证功能。 ConfigParser – (Python 标准库) INI 文件解析器。 profig – 通过多种格式进行配置,具有数值转换功能。 python-decouple – 将设置和代码完全隔离。 命令行工具 用于创建命令行程序的库。 命令行程序开发 cement – Python 的命令行程序框架。 click – 一个通过组合的方式来创建精美命令行界面的包。 cliff – 一个用于创建命令行程序的框架,可以创建具有多层命令的命令行程序。 clint – Python 命令行程序工具。 colorama – 跨平台彩色终端文本。 docopt – Python 风格的命令行参数解析器。 Gooey – 一条命令,将命令行程序变成一个 GUI 程序。 python-prompt-toolkit – 一个用于构建强大的交互式命令行程序的库。 生产力工具 aws-cli – Amazon Web Services 的通用命令行界面。 bashplotlib – 在终端中进行基本绘图。 caniusepython3 – 判断是哪个项目妨碍你你移植到 Python 3。 cookiecutter – 从 cookiecutters(项目模板)创建项目的一个命令行工具。 doitlive – 一个用来在终端中进行现场演示的工具。 howdoi – 通过命令行获取即时的编程问题解答。 httpie – 一个命令行HTTP 客户端,cURL 的替代品,易用性更好。 PathPicker – 从bash输出中选出文件。 percol – 向UNIX shell 传统管道概念中加入交互式选择功能。 SAWS – 一个加强版的 AWS 命令行。 thefuck – 修正你之前的命令行指令。 mycli – 一个 MySQL 命令行客户端,具有自动补全和语法高亮功能。 pgcli – Postgres 命令行工具,具有自动补全和语法高亮功能。 下载器 用来进行下载的库. s3cmd – 一个用来管理Amazon S3 和 CloudFront 的命令行工具。 s4cmd – 超级 S3 命令行工具,性能更加强劲。 you-get – 一个 YouTube/Youku/Niconico 视频下载器,使用 Python3 编写。 youtube-dl – 一个小巧的命令行程序,用来下载 YouTube 视频。 图像处理 用来操作图像的库. pillow – Pillow 是一个更加易用版的 PIL 。 hmap – 图像直方图映射。 imgSeek – 一个使用视觉相似性搜索一组图片集合的项目。 nude.py – 裸体检测。 pyBarcode – 不借助 PIL 库在 Python 程序中生成条形码。 pygram – 类似 Instagram 的图像滤镜。 python-qrcode – 一个纯 Python 实现的二维码生成器。 Quads – 基于四叉树的计算机艺术。 scikit-image – 一个用于(科学)图像处理的 Python 库。 thumbor – 一个小型图像服务,具有剪裁,尺寸重设和翻转功能。 wand – MagickWand 的Python 绑定。MagickWand 是 ImageMagick的 C API 。 OCR 光学字符识别库。 pyocr – Tesseract 和 Cuneiform 的一个封装(wrapper)。 pytesseract – Google Tesseract OCR 的另一个封装(wrapper)。 python-tesseract – Google Tesseract OCR 的一个包装类。 音频 用来操作音频的库 audiolazy -Python 的数字信号处理包。 audioread – 交叉库 (GStreamer + Core Audio + MAD + FFmpeg) 音频解码。 beets – 一个音乐库管理工具及 MusicBrainz 标签添加工具 dejavu – 音频指纹提取和识别 django-elastic-transcoder – Django + Amazon Elastic Transcoder 。 eyeD3 – 一个用来操作音频文件的工具,具体来讲就是包含 ID3 元信息的 MP3 文件。 id3reader – 一个用来读取 MP3 元数据的 Python 模块。 m3u8 – 一个用来解析 m3u8 文件的模块。 mutagen – 一个用来处理音频元数据的 Python 模块。 pydub – 通过简单、简洁的高层接口来操作音频文件。 pyechonest – Echo Nest API 的 Python 客户端 talkbox – 一个用来处理演讲/信号的 Python 库 TimeSide – 开源 web 音频处理框架。 tinytag – 一个用来读取MP3, OGG, FLAC 以及 Wave 文件音乐元数据的库。 mingus – 一个高级音乐理论和曲谱包,支持 MIDI 文件和回放功能。 Video 用来操作视频和GIF的库。 moviepy – 一个用来进行基于脚本的视频编辑模块,适用于多种格式,包括动图 GIFs。 scikit-video – SciPy 视频处理常用程序。 地理位置 地理编码地址以及用来处理经纬度的库。 GeoDjango – 世界级地理图形 web 框架。 GeoIP – MaxMind GeoIP Legacy 数据库的 Python API。 geojson – GeoJSON 的 Python 绑定及工具。 geopy – Python 地址编码工具箱。 pygeoip – 纯 Python GeoIP API。 django-countries – 一个 Django 应用程序,提供用于表格的国家选择功能,国旗图标静态文件以及模型中的国家字段。 HTTP 使用HTTP的库。 requests – 人性化的HTTP请求库。 grequests – requests 库 + gevent ,用于异步 HTTP 请求. httplib2 – 全面的 HTTP 客户端库。 treq – 类似 requests 的Python API 构建于 Twisted HTTP 客户端之上。 urllib3 – 一个具有线程安全连接池,支持文件 post,清晰友好的 HTTP 库。 数据库 Python实现的数据库。 pickleDB – 一个简单,轻量级键值储存数据库。 PipelineDB – 流式 SQL 数据库。 TinyDB – 一个微型的,面向文档型数据库。 ZODB – 一个 Python 原生对象数据库。一个键值和对象图数据库。 数据库驱动 用来连接和操作数据库的库。 MySQL – awesome-mysql 系列 mysql-python – Python 的 MySQL 数据库连接器。 mysqlclient – mysql-python 分支,支持 Python 3。 oursql – 一个更好的 MySQL 连接器,支持原生预编译指令和 BLOBs. PyMySQL – 纯 Python MySQL 驱动,兼容 mysql-python。 PostgreSQL psycopg2 – Python 中最流行的 PostgreSQL 适配器。 queries – psycopg2 库的封装,用来和 PostgreSQL 进行交互。 txpostgres – 基于 Twisted 的异步 PostgreSQL 驱动。 其他关系型数据库 apsw – 另一个 Python SQLite封装。 dataset – 在数据库中存储Python字典 – 可以协同SQLite,MySQL,和 PostgreSQL工作。 pymssql – 一个简单的Microsoft SQL Server数据库接口。 NoSQL 数据库 cassandra-python-driver – Cassandra 的 Python 驱动。 HappyBase – 一个为 Apache HBase 设计的,对开发者友好的库。 Plyvel – 一个快速且功能丰富的 LevelDB 的 Python 接口。 py2neo – Neo4j restful 接口的Python 封装客户端。 pycassa – Cassandra 的 Python Thrift 驱动。 PyMongo – MongoDB 的官方 Python 客户端。 redis-py – Redis 的 Python 客户端。 telephus – 基于 Twisted 的 Cassandra 客户端。 txRedis – 基于 Twisted 的 Redis 客户端。 ORM 实现对象关系映射或数据映射技术的库。 关系型数据库 Django Models – Django 的一部分。 SQLAlchemy – Python SQL 工具以及对象关系映射工具。 awesome-sqlalchemy 系列 Peewee – 一个小巧,富有表达力的 ORM。 PonyORM – 提供面向生成器的 SQL 接口的 ORM。 python-sql – 编写 Python 风格的 SQL 查询。 NoSQL 数据库 django-mongodb-engine – Django MongoDB 后端。 PynamoDB – Amazon DynamoDB 的一个 Python 风格接口。 flywheel – Amazon DynamoDB 的对象映射工具。 MongoEngine – 一个Python 对象文档映射工具,用于 MongoDB。 hot-redis – 为 Redis 提供 Python 丰富的数据类型。 redisco – 一个 Python 库,提供可以持续存在在 Redis 中的简单模型和容器。 其他 butterdb – Google Drive 电子表格的 Python ORM。 Web 框架 全栈 web 框架。 Django – Python 界最流行的 web 框架。 awesome-django 系列 Flask – 一个 Python 微型框架。 awesome-flask 系列 Pyramid – 一个小巧,快速,接地气的开源Python web 框架。 awesome-pyramid 系列 Bottle – 一个快速小巧,轻量级的 WSGI 微型 web 框架。 CherryPy – 一个极简的 Python web 框架,服从 HTTP/1.1 协议且具有WSGI 线程池。 TurboGears – 一个可以扩展为全栈解决方案的微型框架。 web.py – 一个 Python 的 web 框架,既简单,又强大。 web2py – 一个全栈 web 框架和平台,专注于简单易用。 Tornado – 一个web 框架和异步网络库。 权限 允许或拒绝用户访问数据或功能的库。 Carteblanche – Module to align code with thoughts of users and designers. Also magically handles navigation and permissions. django-guardian – Django 1.2+ 实现了单个对象权限。 django-rules – 一个小巧但是强大的应用,提供对象级别的权限管理,且不需要使用数据库。 CMS 内容管理系统 django-cms – 一个开源的,企业级 CMS,基于 Django。 djedi-cms – 一个轻量级但却非常强大的 Django CMS ,考虑到了插件,内联编辑以及性能。 FeinCMS – 基于 Django 构建的最先进的内容管理系统之一。 Kotti – 一个高级的,Python 范的 web 应用框架,基于 Pyramid 构建。 Mezzanine – 一个强大的,持续的,灵活的内容管理平台。 Opps – 一个为杂志,报纸网站以及大流量门户网站设计的 CMS 平台,基于 Django。 Plone – 一个构建于开源应用服务器 Zope 之上的 CMS。 Quokka – 灵活,可扩展的小型 CMS,基于 Flask 和 MongoDB。 Wagtail – 一个 Django 内容管理系统。 Widgy – 最新的 CMS 框架,基于 Django。 电子商务 用于电子商务以及支付的框架和库。 django-oscar – 一个用于 Django 的开源的电子商务框架。 django-shop – 一个基于 Django 的店铺系统。 Cartridge – 一个基于 Mezzanine 构建的购物车应用。 shoop – 一个基于 Django 的开源电子商务平台。 alipay – 非官方的 Python 支付宝 API。 merchant – 一个可以接收来自多种支付平台支付的 Django 应用。 money – 货币类库with optional CLDR-backed locale-aware formatting and an extensible currency exchange solution. python-currencies – 显示货币格式以及它的数值。 RESTful API 用来开发RESTful APIs的库 Django django-rest-framework – 一个强大灵活的工具,用来构建 web API。 django-tastypie – 为Django 应用开发API。 django-formapi – 为 Django 的表单验证,创建 JSON APIs 。 Flask flask-api – 为 flask 开发的,可浏览 Web APIs 。 flask-restful – 为 flask 快速创建REST APIs 。 flask-restless – 为 SQLAlchemy 定义的数据库模型创建 RESTful APIs 。 flask-api-utils – 为 Flask 处理 API 表示和验证。 eve – REST API 框架,由 Flask, MongoDB 等驱动。 Pyramid cornice – 一个Pyramid 的 REST 框架 。 与框架无关的 falcon – 一个用来建立云 API 和 web app 后端的噶性能框架。 sandman – 为现存的数据库驱动系统自动创建 REST APIs 。 restless – 框架无关的 REST 框架 ,基于从 Tastypie 学到的知识。 ripozo – 快速创建 REST/HATEOAS/Hypermedia APIs。 验证 实现验证方案的库。 OAuth Authomatic – 简单但是强大的框架,身份验证/授权客户端。 django-allauth – Django 的验证应用。 django-oauth-toolkit – 为 Django 用户准备的 OAuth2。 django-oauth2-provider – 为 Django 应用提供 OAuth2 接入。 Flask-OAuthlib – OAuth 1.0/a, 2.0 客户端实现,供 Flask 使用。 OAuthLib – 一个 OAuth 请求-签名逻辑通用、 完整的实现。 python-oauth2 – 一个完全测试的抽象接口。用来创建 OAuth 客户端和服务端。 python-social-auth – 一个设置简单的社会化验证方式。 rauth – OAuth 1.0/a, 2.0, 和 Ofly 的 Python 库。 sanction – 一个超级简单的OAuth2 客户端实现。 其他 jose – JavaScript 对象签名和加密草案的实现。 PyJWT – JSON Web 令牌草案 01。 python-jws – JSON Web 签名草案 02 的实现。 python-jwt – 一个用来生成和验证 JSON Web 令牌的模块。 模板引擎 模板生成和词法解析的库和工具。 Jinja2 – 一个现代的,对设计师友好的模板引擎。 Chameleon – 一个 HTML/XML 模板引擎。 模仿了 ZPT(Zope Page Templates), 进行了速度上的优化。 Genshi – Python 模板工具,用以生成 web 感知的结果。 Mako – Python 平台的超高速轻量级模板。 Queue 处理事件以及任务队列的库。 celery – 一个异步任务队列/作业队列,基于分布式消息传递。 huey – 小型多线程任务队列。 mrq – Mr. Queue -一个 Python 的分布式 worker 任务队列, 使用 Redis 和 gevent。 rq – 简单的 Python 作业队列。 simpleq – 一个简单的,可无限扩张的,基于亚马逊 SQS 的队列。 搜索 对数据进行索引和执行搜索查询的库和软件。 django-haystack – Django 模块化搜索。 elasticsearch-py – Elasticsearch 的官方底层 Python 客户端。 elasticsearch-dsl-py -Elasticsearch 的官方高级 Python 客户端。 solrpy – solr 的 Python 客户端。 Whoosh – 一个快速的纯 Python 搜索引擎库。 动态消息 用来创建用户活动的库。 django-activity-stream – 从你的站点行为中生成通用活动信息流。 Stream-Framework – 使用 Cassandra 和 Redis 创建动态消息和通知系统。 资源管理 管理、压缩、缩小网站资源的工具。 django-compressor – 将链接和内联的 JavaScript 或 CSS 压缩到一个单独的缓存文件中。 django-storages – 一个针对 Django 的自定义存储后端的工具集合。 fanstatic – 打包、优化,并且把静态文件依赖作为 Python 的包来提供。 File Conveyor – 一个后台驻留的程序,用来发现和同步文件到 CDNs, S3 和 FTP。 Flask-Assets – 帮你将 web 资源整合到你的 Flask app 中。 jinja-assets-compressor – 一个 Jinja 扩展,用来编译和压缩你的资源。 webassets – 为你的静态资源打包、优化和管理生成独一无二的缓存 URL。 缓存 缓存数据的库。 Beaker – 一个缓存和会话库,可以用在 web 应用和独立 Python脚本和应用上。 django-cache-machine – Django 模型的自动缓存和失效。 django-cacheops – 具有自动颗粒化事件驱动失效功能的 ORM。 django-viewlet – 渲染模板,同时具有额外的缓存控制功能。 dogpile.cache – dogpile.cache 是 Beaker 的下一代替代品,由同一作者开发。 HermesCache – Python 缓存库,具有基于标签的失效和 dogpile effect 保护功能。 johnny-cache – django应用缓存框架。 pylibmc – libmemcached 接口的 Python 封装。 电子邮件 用来发送和解析电子邮件的库。 django-celery-ses – 带有 AWS SES 和 Celery 的 Django email 后端。 envelopes – 供人类使用的电子邮件库。 flanker – 一个 email 地址和 Mime 解析库。 imbox – Python IMAP 库 inbox.py – Python SMTP 服务器。 inbox – 一个开源电子邮件工具箱。 lamson – Python 风格的 SMTP 应用服务器。 mailjet – Mailjet API 实现,用来提供批量发送邮件,统计等功能。 marrow.mailer – 高性能可扩展邮件分发框架。 modoboa – 一个邮件托管和管理平台,具有现代的、简约的 Web UI。 pyzmail – 创建,发送和解析电子邮件。 Talon – Mailgun 库,用来抽取信息和签名。 国际化 用来进行国际化的库。 Babel – 一个Python 的国际化库。 Korean – 一个韩语词态库。 URL处理 解析URLs的库 furl – 一个让处理 URL 更简单小型 Python 库。 purl – 一个简单的,不可变的URL类,具有简洁的 API 来进行询问和处理。 pyshorteners – 一个纯 Python URL 缩短库。 short_url – 生成短小 URL 和类似 bit.ly 短链的Python 实现。 webargs – 一个解析 HTTP 请求参数的库,内置对流行 web 框架的支持,包括 Flask, Django, Bottle, Tornado和 Pyramid。 HTML处理 处理 HTML和XML的库。 BeautifulSoup – 以 Python 风格的方式来对 HTML 或 XML 进行迭代,搜索和修改。 bleach – 一个基于白名单的 HTML 清理和文本链接库。 cssutils – 一个 Python 的 CSS 库。 html5lib – 一个兼容标准的 HTML 文档和片段解析及序列化库。 lxml – 一个非常快速,简单易用,功能齐全的库,用来处理 HTML 和 XML。 MarkupSafe – 为Python 实现 XML/HTML/XHTML 标记安全字符串。 pyquery – 一个解析 HTML 的库,类似 jQuery。 untangle – 将XML文档转换为Python对象,使其可以方便的访问。 xhtml2pdf – HTML/CSS 转 PDF 工具。 xmltodict – 像处理 JSON 一样处理 XML。 爬取网络站点的库 Scrapy – 一个快速高级的屏幕爬取及网页采集框架。 cola – 一个分布式爬虫框架。 Demiurge – 基于PyQuery 的爬虫微型框架。 feedparser – 通用 feed 解析器。 Grab – 站点爬取框架。 MechanicalSoup – 用于自动和网络站点交互的 Python 库。 portia – Scrapy 可视化爬取。 pyspider – 一个强大的爬虫系统。 RoboBrowser – 一个简单的,Python 风格的库,用来浏览网站,而不需要一个独立安装的浏览器。 网页内容提取 用于进行网页内容提取的库。 Haul – 一个可以扩展的图像爬取工具。 html2text – 将 HTML 转换为 Markdown 格式文本 lassie – 人性化的网页内容检索库。 micawber -一个小型网页内容提取库,用来从 URLs 提取富内容。 newspaper – 使用 Python 进行新闻提取,文章提取以及内容策展。 opengraph – 一个用来解析开放内容协议(Open Graph Protocol)的 Python模块。 python-goose – HTML内容/文章提取器。 python-readability – arc90 公司 readability 工具的 Python 高速端口 sanitize – 为杂乱的数据世界带来调理性。 sumy – 一个为文本文件和 HTML 页面进行自动摘要的模块。 textract – 从任何格式的文档中提取文本,Word,PowerPoint,PDFs 等等。 表单 进行表单操作的库。 Deform – Python HTML 表单生成库,受到了 formish 表单生成库的启发。 django-bootstrap3 – 集成了 Bootstrap 3 的 Django。 django-crispy-forms – 一个 Django 应用,他可以让你以一种非常优雅且 DRY(Don’t repeat yourself) 的方式来创建美观的表单。 django-remote-forms – 一个平台独立的 Django 表单序列化工具。 WTForms – 一个灵活的表单验证和呈现库。 WTForms-JSON – 一个 WTForms 扩展,用来处理 JSON 数据。 数据验证 数据验证库。多用于表单验证。 Cerberus – A mappings-validator with a variety of rules, normalization-features and simple customization that uses a pythonic schema-definition. colander – 一个用于对从 XML, JSON,HTML 表单获取的数据或其他同样简单的序列化数据进行验证和反序列化的系统。 kmatch – 一种用于匹配/验证/筛选 Python 字典的语言。 schema -一个用于对 Python 数据结构进行验证的库。 Schematics – 数据结构验证。 valideer – 轻量级可扩展的数据验证和适配库。 voluptuous – 一个 Python 数据验证库。主要是为了验证传入 Python的 JSON,YAML 等数据。 反垃圾技术 帮助你和电子垃圾进行战斗的库。 django-simple-captcha – 一个简单、高度可定制的Django 应用,可以为任何Django表单添加验证码。 django-simple-spam-blocker – 一个用于Django的简单的电子垃圾屏蔽工具。 标记 用来进行标记的库。 django-taggit – 简单的 Django 标记工具。 管理面板 管理界面库。 Ajenti – 一个你的服务器值得拥有的管理面板。 django-suit – Django 管理界面的一个替代品 (仅对于非商业用途是免费的)。 django-xadmin – Django admin 的一个替代品,具有很多不错的功能。 flask-admin – 一个用于 Flask 的简单可扩展的管理界面框架。 flower – 一个对 Celery 集群进行实时监控和提供 web 管理界面的工具。 Grappelli – Django 管理界面的一个漂亮的皮肤。 Wooey – 一个 Django 应用,可以为 Python 脚本创建 web 用户界面。 静态站点生成器 静态站点生成器是一个软件,它把文本和模板作为输入,然后输出HTML文件。 Pelican – 使用 Markdown 或 ReST 来处理内容, Jinja 2 来制作主题。支持 DVCS, Disqus.。AGPL 许可。 Cactus – 为设计师设计的静态站点生成器。 Hyde – 基于 Jinja2 的静态站点生成器。 Nikola – 一个静态网站和博客生成器。 Tinkerer – Tinkerer 是一个博客引擎/静态站点生成器,由Sphinx驱动。 Lektor – 一个简单易用的静态 CMS 和博客引擎。 进程 操作系统进程启动及通信库。 envoy – 比 Python subprocess 模块更人性化。 sarge – 另一 种 subprocess 模块的封装。 sh – 一个完备的 subprocess 替代库。 并发和并行 用以进行并发和并行操作的库。 multiprocessing – (Python 标准库) 基于进程的“线程”接口。 threading – (Python 标准库)更高层的线程接口。 eventlet – 支持 WSGI 的异步框架。 gevent – 一个基于协程的 Python 网络库,使用 greenlet 。 Tomorrow -用于产生异步代码的神奇的装饰器语法实现。 网络 用于网络编程的库。 asyncio – (Python 标准库) 异步 I/O, 事件循环, 协程以及任务。 Twisted – 一个事件驱动的网络引擎。 pulsar – 事件驱动的并发框架。 diesel – 基于Greenlet 的事件 I/O 框架。 pyzmq – 一个 ZeroMQ 消息库的 Python 封装。 txZMQ – 基于 Twisted 的 ZeroMQ 消息库的 Python 封装。 WebSocket 帮助使用WebSocket的库。 AutobahnPython – 给 Python 、使用的 WebSocket & WAMP 基于 Twisted 和 asyncio 。 Crossbar – 开源统一应用路由(Websocket & WAMP for Python on Autobahn). django-socketio – 给 Django 用的 WebSockets。 WebSocket-for-Python – 为Python2/3 以及 PyPy 编写的 WebSocket 客户端和服务器库。 WSGI 服务器 兼容 WSGI 的 web 服务器 gunicorn – Pre-forked, 部分是由 C 语言编写的。 uwsgi – uwsgi 项目的目的是开发一组全栈工具,用来建立托管服务, 由 C 语言编写。 bjoern – 异步,非常快速,由 C 语言编写。 fapws3 – 异步 (仅对于网络端),由 C 语言编写。 meinheld – 异步,部分是由 C 语言编写的。 netius – 异步,非常快速。 paste – 多线程,稳定,久经考验。 rocket – 多线程。 waitress – 多线程, 是它驱动着 Pyramid 框架。 Werkzeug – 一个 WSGI 工具库,驱动着 Flask ,而且可以很方便大嵌入到你的项目中去。 RPC 服务器 兼容 RPC 的服务器。 SimpleJSONRPCServer – 这个库是 JSON-RPC 规范的一个实现。 SimpleXMLRPCServer – (Python 标准库) 简单的 XML-RPC 服务器实现,单线程。 zeroRPC – zerorpc 是一个灵活的 RPC 实现,基于 ZeroMQ 和 MessagePack。 密码学 cryptography – 这个软件包意在提供密码学基本内容和方法提供给 Python 开发者。 hashids – 在 Python 中实现 hashids 。 Paramiko – SSHv2 协议的 Python (2.6+, 3.3+) ,提供客户端和服务端的功能。 Passlib – 安全密码存储/哈希库, PyCrypto – Python 密码学工具箱。 PyNacl – 网络和密码学(NaCl) 库的 Python 绑定。 图形用户界面 用来创建图形用户界面程序的库。 curses – 内建的 ncurses 封装,用来创建终端图形用户界面。 enaml – 使用类似 QML 的Declaratic语法来创建美观的用户界面。 kivy – 一个用来创建自然用户交互(NUI)应用程序的库,可以运行在 Windows, Linux, Mac OS X, Android 以及 iOS平台上。 pyglet – 一个Python 的跨平台窗口及多媒体库。 PyQt – 跨平台用户界面框架 Qt 的 Python 绑定 ,支持Qt v4 和 Qt v5。 PySide – P跨平台用户界面框架 Qt 的 Python 绑定 ,支持Qt v4。 Tkinter – Tkinter 是 Python GUI 的一个事实标准库。 Toga – 一个 Python 原生的, 操作系统原生的 GUI 工具包。 urwid – 一个用来创建终端 GUI 应用的库,支持组件,事件和丰富的色彩等。 wxPython – wxPython 是 wxWidgets C++ 类库和 Python 语言混合的产物。 PyGObject – GLib/GObject/GIO/GTK+ (GTK+3) 的 Python 绑定 Flexx – Flexx 是一个纯 Python 语言编写的用来创建 GUI 程序的工具集,它使用 web 技术进行界面的展示。 游戏开发 超赞的游戏开发库。 Cocos2d – cocos2d 是一个用来开发 2D 游戏, 示例和其他图形/交互应用的框架。基于 pyglet。 Panda3D – 由迪士尼开发的 3D 游戏引擎,并由卡内基梅陇娱乐技术中心负责维护。使用C++编写, 针对 Python 进行了完全的封装。 Pygame – Pygame 是一组 Python 模块,用来编写游戏。 PyOgre – Ogre 3D 渲染引擎的 Python 绑定,可以用来开发游戏和仿真程序等任何 3D 应用。 PyOpenGL – OpenGL 的 Python 绑定及其相关 APIs。 PySDL2 – SDL2 库的封装,基于 ctypes。 RenPy – 一个视觉小说(visual novel)引擎。 日志 用来生成和操作日志的库。 logging – (Python 标准库) 为 Python 提供日志功能。 logbook – Logging 库的替代品。 Eliot – 为复杂的和分布式系统创建日志。 Raven – Sentry的 Python 客户端。 Sentry – 实时记录和收集日志的服务器。 Testing 进行代码库测试和生成测试数据的库。 测试框架 unittest – (Python 标准库) 单元测试框架。 nose – nose 扩展了 unittest 的功能。 contexts – 一个 Python 3.3+ 的 BDD 框架。受到C# – Machine.Specifications 的启发。 hypothesis – Hypothesis 是一个基于先进的 Quickcheck 风格特性的测试库。 mamba – Python 的终极测试工具, 拥护BDD。 PyAutoGUI – PyAutoGUI 是一个人性化的跨平台 GUI 自动测试模块。 pyshould – Should 风格的断言,基于 PyHamcrest 。 pytest – 一个成熟的全功能 Python 测试工具。 green – 干净,多彩的测试工具。 pyvows – BDD 风格的测试工具,受Vows.js的启发。 Robot Framework – 一个通用的自动化测试框架。 Web 测试 Selenium – Selenium WebDriver 的 Python 绑定。 locust – 使用 Python 编写的,可扩展的用户加载测试工具。 sixpack – 一个和语言无关的 A/B 测试框架。 splinter – 开源的 web 应用测试工具。 Mock测试 mock – (Python 标准库) 一个用于伪造测试的库。 doublex – Python 的一个功能强大的 doubles 测试框架。 freezegun – 通过伪造日期模块来生成不同的时间。 httmock – 针对 Python 2.6+ 和 3.2+ 生成 伪造请求的库。 httpretty – Python 的 HTTP 请求 mock 工具。 responses – 伪造 Python 中的 requests 库的一个通用库。 VCR.py – 在你的测试中记录和重放 HTTP 交互。 对象工厂 factory_boy – 一个 Python 用的测试固件 (test fixtures) 替代库。 mixer – 另外一个测试固件 (test fixtures) 替代库,支持 Django, Flask, SQLAlchemy, Peewee 等。 model_mommy – 为 Django 测试创建随机固件 代码覆盖率 coverage – 代码覆盖率测量。 伪数据 faker – 一个 Python 库,用来生成伪数据。 fake2db – 伪数据库生成器。 radar – 生成随机的日期/时间。 错误处理 [FuckIt.py](https://github.com/ajalt/fuckitpy) – FuckIt.py 使用最先进的技术来保证你的 Python 代码无论对错都能继续运行。 代码分析和Lint工具 进行代码分析,解析和操作代码库的库和工具。 代码分析 code2flow – 把你的 Python 和 JavaScript 代码转换为流程图。 pycallgraph -这个库可以把你的Python 应用的流程(调用图)进行可视化。 pysonar2 – Python 类型推断和检索工具。 Lint工具 Flake8 – 模块化源码检查工具: pep8, pyflakes 以及 co。 Pylint – 一个完全可定制的源码分析器。 pylama – Python 和 JavaScript 的代码审查工具。 Debugging Tools 用来进行代码调试的库。 调试器 ipdb – IPython 启用的 pdb 。 pudb – 全屏,基于控制台的 Python 调试器。 pyringe – 可以在 Python 进程中附加和注入代码的调试器。 wdb – 一个奇异的 web 调试器,通过 WebSockets 工作。 winpdb – 一个具有图形用户界面的 Python 调试器,可以进行远程调试,基于 rpdb2。 django-debug-toolbar – 为 Django 显示各种调试信息。 django-devserver – 一个 Django 运行服务器的替代品。 flask-debugtoolbar – django-debug-toolbar 的 flask 版。 性能分析器 line_profiler – 逐行性能分析。 memory_profiler – 监控 Python 代码的内存使用。 profiling – 一个交互式 Python 性能分析工具。 其他 pyelftools – 解析和分析 ELF 文件以及 DWARF 调试信息。 python-statsd – statsd 服务器的 Python 客户端。 Science and Data Analysis 用来进行科学计算和 数据分析 的库。 astropy – 一个天文学 Python 库。 bcbio-nextgen – 这个工具箱为全自动高通量测序分析提供符合最佳实践的处理流程。 bccb – 生物分析相关代码集合 Biopython – Biopython 是一组可以免费使用的用来进行生物计算的工具。 blaze – NumPy 和 Pandas 的 大数据 接口。 cclib – 一个用来解析和解释计算化学软件包输出结果的库。 NetworkX – 一个为复杂网络设计的高性能软件。 Neupy – 执行和测试各种不同的人工神经网络算法。 Numba – Python JIT (just in time) 编译器,针对科学用的 Python ,由Cython 和 NumPy 的开发者开发。 NumPy – 使用 Python 进行科学计算的基础包。 Open Babel – 一个化学工具箱,用来描述多种化学数据。 Open Mining – 使用 Python 挖掘商业情报 (BI) (Pandas web 接口)。 orange – 通过可视化编程或 Python 脚本进行 数据挖掘 , 数据可视化 ,分析和机器学习。 Pandas – 提供高性能,易用的数据结构和数据分析工具。 PyDy – PyDy 是 Python Dynamics 的缩写,用来为动力学运动建模工作流程提供帮助, 基于 NumPy, SciPy, IPython 和 matplotlib。 PyMC – 马尔科夫链蒙特卡洛采样工具。 RDKit – 化学信息学和机器学习软件。 SciPy – 由一些基于 Python ,用于数学,科学和工程的开源软件构成的生态系统。 statsmodels – 统计建模和计量经济学。 SymPy – 一个用于符号数学的 Python 库。 zipline – 一个 Python 算法交易库。 数据可视化 进行数据可视化的库。 参见: awesome-javascript 。 matplotlib – 一个 Python 2D 绘图库。 bokeh – 用 Python 进行交互式 web 绘图。 ggplot – ggplot2 给 R 提供的 API 的 Python 版本。 plotly – 协同 Python 和 matplotlib 工作的 web 绘图库。 pygal – 一个 Python SVG 图表创建工具。 pygraphviz – Graphviz 的 Python 接口。 PyQtGraph – 交互式实时2D/3D/图像绘制及科学/工程学组件。 SnakeViz – 一个基于浏览器的 Python’s cProfile 模块输出结果查看工具。 vincent – 把 Python 转换为 Vega 语法的转换工具。 VisPy – 基于 OpenGL 的高性能科学可视化工具。 计算机视觉 计算机视觉库。 OpenCV – 开源计算机视觉库。 SimpleCV – 一个用来创建计算机视觉应用的开源框架。 机器学习 机器学习库。 参见: awesome-machine-learning . Crab – 灵活、快速的推荐引擎。 gensim – 人性化的话题建模库。 hebel – GPU 加速的深度学习库。 NuPIC – 智能计算 Numenta 平台。 pattern – Python 网络挖掘模块。 PyBrain – 另一个 Python 机器学习库。 Pylearn2 – 一个基于 Theano 的机器学习库。 python-recsys – 一个用来实现推荐系统的 Python 库。 scikit-learn – 基于 SciPy 构建的机器学习 Python 模块。 pydeep – Python 深度学习库。 vowpal_porpoise – 轻量级 Vowpal Wabbit 的 Python 封装。 skflow – 一个 TensorFlow 的简化接口(模仿 scikit-learn)。 MapReduce MapReduce 框架和库。 dpark – Spark 的 Python 克隆版,一个类似 MapReduce 的框架。 dumbo – 这个 Python 模块可以让人轻松的编写和运行 Hadoop 程序。 luigi – 这个模块帮你构建批处理作业的复杂流水线。 mrjob – 在 Hadoop 或 Amazon Web Services 上运行 MapReduce 任务。 PySpark – Spark 的 Python API 。 streamparse – 运行针对事实数据流的 Python 代码。集成了 Apache Storm 。 函数式编程 使用 Python 进行函数式编程。 CyToolz – Toolz 的 Cython 实现 : 高性能函数式工具。 fn.py – 在 Python 中进行函数式编程 : 实现了一些享受函数式编程缺失的功能。 funcy – 炫酷又实用的函数式工具。 Toolz – 一组用于迭代器,函数和字典的函数式编程工具。 第三方 API 用来访问第三方 API的库。 参见: List of Python API Wrappers and Libraries 。 apache-libcloud – 一个为各种云设计的 Python 库。 boto – Amazon Web Services 的 Python 接口。 django-wordpress – WordPress models and views for Django. facebook-sdk – Facebook 平台的 Python SDK. facepy – Facepy 让和 Facebook’s Graph API 的交互变得更容易。 gmail – Gmail 的 Python 接口。 google-api-python-client – Python 用的 Google APIs 客户端库。 gspread – Google 电子表格的 Python API. twython – Twitter API 的封装。 DevOps 工具 用于 DevOps 的软件和库。 Ansible – 一个非常简单的 IT 自动化平台。 SaltStack – 基础设施自动化和管理系统。 OpenStack – 用于构建私有和公有云的开源软件。 Docker Compose – 快速,分离的开发环境,使用 Docker。 Fabric – 一个简单的,Python 风格的工具,用来进行远程执行和部署。 cuisine – 为 Fabric 提供一系列高级函数。 Fabtools – 一个用来编写超赞的 Fabric 文件的工具。 gitapi – Git 的纯 Python API。 hgapi – Mercurial 的纯 Python API。 honcho – Foreman 的 Python 克隆版,用来管理基于 Procfile 的应用。 pexpect – Controlling interactive programs in a pseudo-terminal like 在一个伪终端中控制交互程序,就像 GNU expect 一样。 psutil – 一个跨平台进程和系统工具模块。 supervisor – UNIX 的进程控制系统。 任务调度 任务调度库。 APScheduler – 轻巧但强大的进程内任务调度,使你可以调度函数。 django-schedule – 一个 Django 排程应用。 doit – 一个任务执行和构建工具。 gunnery – 分布式系统使用的多用途任务执行工具 ,具有 web 交互界面。 Joblib – 一组为 Python 提供轻量级作业流水线的工具。 Plan – 如有神助地编写 crontab 文件。 schedule – 人性化的 Python 任务调度库。 Spiff – 使用纯 Python 实现的强大的工作流引擎。 TaskFlow – 一个可以让你方便执行任务的 Python 库,一致并且可靠。 外来函数接口 使用外来函数接口的库。 cffi – 用来调用 C 代码的外来函数接口。 ctypes – (Python 标准库) 用来调用 C 代码的外来函数接口。 PyCUDA – Nvidia CUDA API 的封装。 SWIG – 简化的封装和接口生成器。 高性能 让 Python 更快的库。 Cython – 优化的 Python 静态编译器。使用类型混合使 Python 编译成 C 或 C++ 模块来获得性能的极大提升。 PeachPy – 嵌入 Python 的 x86-64 汇编器。可以被用作 Python 内联的汇编器或者是独立的汇编器,用于 Windows, Linux, OS X, Native Client 或者 Go 。 PyPy – 使用 Python 实现的 Python。解释器使用黑魔法加快 Python 运行速度且不需要加入额外的类型信息。 Pyston – 使用 LLVM 和现代 JIT 技术构建的 Python 实现,目标是为了获得很好的性能。 Stackless Python – 一个强化版的 Python。 微软的 Windows平台 在 Windows 平台上进行 Python 编程。 Python(x,y) – 面向科学应用的 Python 发行版,基于 Qt 和 Spyder。 pythonlibs – 非官方的 Windows 平台 Python 扩展二进制包。 PythonNet – Python 与 .NET 公共语言运行库 (CLR)的集成。 PyWin32 – 针对 Windows 的Python 扩展。 WinPython – Windows 7/8 系统下便携式开发环境。 网络可视化和SDN 用来进行网络可视化和SDN(软件定义网络)的工具和库。 Mininet – 一款流行的网络模拟器以及用 Python 编写的 API。 POX – 一个针对基于 Python 的软件定义网络应用(例如 OpenFlow SDN 控制器)的开源开发平台。 Pyretic – 火热的 SDN 编程语言中的一员,为网络交换机和模拟器提供强大的抽象能力。 SDX Platform – 基于 SDN 的 IXP 实现,影响了 Mininet, POX 和 Pyretic。 硬件 用来对硬件进行编程的库。 ino -操作 Arduino 的命令行工具。 Pyro – Python 机器人编程库。 PyUserInput – 跨平台的,控制鼠标和键盘的模块。 scapy – 一个非常棒的操作数据包的库。 wifi – 一个 Python 库和命令行工具用来在 Linux 平台上操作WiFi。 Pingo – Pingo 为类似Raspberry Pi,pcDuino, Intel Galileo等设备提供统一的API用以编程。 兼容性 帮助从 Python 2 向 Python 3迁移的库。 Python-Future – 这就是 Python 2 和 Python 3 之间丢失的那个兼容性层。 Python-Modernize – 使 Python 代码更加现代化以便最终迁移到 Python 3。 Six – Python 2 和 3 的兼容性工具。 杂项 不属于上面任何一个类别,但是非常有用的库。 blinker – 一个快速的 Python 进程内信号/事件分发系统。 itsdangerous – 一系列辅助工具用来将可信的数据传入不可信的环境。 pluginbase – 一个简单但是非常灵活的 Python 插件系统。 Pychievements – 一个用来创建和追踪成就的 Python 框架。 Tryton – 一个通用商务框架。 算法和设计模式 Python 实现的算法和设计模式。 algorithms -一个 Python 算法模块 python-patterns – Python 设计模式的集合。 sortedcontainers – 快速,纯 Python 实现的SortedList,SortedDict 和 SortedSet 类型。 编辑器插件 编辑器和 IDE 的插件 Emacs Elpy – Emacs Python 开发环境。 Sublime Text SublimeJEDI – 一个 Sublime Text 插件,用来使用超赞的自动补全库 Jedi。 Anaconda – Anaconda 把你的 Sublime Text 3 变成一个功能齐全的 Python IDE。 Vim YouCompleteMe – 引入基于 Jedi 的 Python 自动补全引擎。 Jedi-vim – 绑定 Vim 和 Jedi 自动补全库对 Python 进行自动补全。 Python-mode – 将 Vim 变成 Python IDE 的一款多合一插件。 Visual Studio PTVS – Visual Studio 的 Python 工具 集成开发环境 流行的 Python 集成开发环境。 PyCharm – 商业化的 Python IDE ,由 JetBrains 开发。也有免费的社区版提供。 LiClipse – 基于 Eclipse 的免费多语言 IDE 。使用 PyDev 来支持 Python 。 Spyder – 开源 Python IDE。 服务 在线工具和简化开发的 API 。 持续集成 参见: awesome-CIandCD . Travis CI – 一个流行的工具,为你的开源和 私人 项目提供持续集成服务。(仅支持 GitHub) CircleCI – 一个持续集成工具,可以非常快速的进行并行测试。 (仅支持 GitHub) Vexor CI – 一个为私人 app 提供持续集成的工具,支持按分钟付费。 Wercker – 基于 Docker 平台,用来构建和部署微服务。 代码质量 Codacy – 自动化代码审查,更加快速的发布高质量代码。对于开源项目是免费的。 QuantifiedCode – 一个数据驱动、自动、持续的代码审查工具。 Resources 在这里可以找到新的 Python 库。 网站 r/Python CoolGithubProjects Django Packages Full Stack Python Python 3 Wall of Superpowers Python Hackers Python ZEEF Trending Python repositories on GitHub today PyPI Ranking 周刊 Import Python Newsletter Pycoder’s Weekly Python Weekly Twitter @codetengu @getpy @planetpython @pycoders @pypi @pythontrending @PythonWeekly Other Awesome Lists List of lists. Python pycrumbs python-github-projects python_reference pythonidae Monty awesome lists 其他榜单 关于列表的列表。 Python pycrumbs python-github-projects python_reference pythonidae Monty awesome lists 参与贡献 我们始终欢迎您参与这个项目!请先看一下 参与指导说明 。 如果我不确定某个库是不是很赞的话,我就会保持pull request的开放,你可以通过留言(带有+1字样) 给它们投票 。 本文由 伯乐在线 – 艾凌风 翻译, Namco 校稿。 英文出处: github.com 。 本文采用「CC BY-SA 4.0 CN」协议转载自互联网、仅供学习交流,内容版权归原作者所有,如涉作品、版权和其他问题请给「 我们 」留言处理。
数据分析
2016-03-15 19:21:00
  2018 年 8 月,苹果公司创造了历史,成为全球首家市值超过 1 万亿美元的上市科技公司。此后,它仅用了两年时间就让市值突破了 2 万亿美元大关。这次,其首席执行官蒂姆·库克(Tim Cook)也为自己赢得了大笔奖金。   美国当地时间周一,库克收到了 56 万股苹果股票奖励,按当前市场价格计算,价值高达 2.828 亿美元,这是他九年前接替史蒂夫·乔布斯(Steve Jobs)时签署股权奖励方案的一部分。   库克在 2011 年执掌苹果时,获得了当时价值 3.76 亿美元的限制性股权奖励方案。按照该方案规定,在苹果股票持续表现优于标准普尔 500 指数的条件下,库克可在 10 年内每年领取一部分奖励。   根据协议,如果苹果三年股票增值超过标准普尔 500 指数成份股中三分之二公司,库克将有资格每年获得 56 万股股票。如果苹果股票位于中间,库克的股权奖励将减少一半。如果苹果的表现位于垫底的三分之一公司中,库克则得不到任何股票奖励。   截至美国当地时间上周五,苹果在过去三年的股票收益(包括再投资股息)比绝大多数标准普尔 500 指数成份股公司高出 200% 以上,这使库克的表现远远高于当初协议中规定的门槛。   2020 年到目前为止,尽管新冠疫情对经济造成了影响,但苹果的股票始终处于势不可挡的上升趋势中。上周五收盘时,苹果股价自 3 月份市场崩盘以来已经翻了一番,比年初上涨了 60%,市值超过了 2 万亿美元。   8 月 10 日,库克的净资产首次突破 10 亿美元大关,对于那些不拥有自己所经营公司创始股权的高管来说,这是个罕见的里程碑。摩根大通首席执行官杰米·戴蒙(Jamie Dimon)和 Facebook 首席运营官谢丽尔·桑德伯格(Sheryl Sandberg)等人也进入了亿万富翁排行榜。   撇开股权奖励不谈,库克的年度基本工资为 300 万美元,还有基于业绩的现金奖金和其他收入,包括养老金和保险。现年 59 岁的库克 2015 年就曾承诺捐出自己的大部分财富,他已经捐赠了价值数百万美元的苹果股票。
互联网
2020-08-25 07:50:00
PHP是目前最流行、最易学最强大的计算机语言之一( 学习培训Python的几大理由 ),无论你是新手还是老鸟,无论是用于深度学习还是web开发设计(Pinterest就是案例), Python 都是一件利器。此外,Python不但人气日益高涨,而且Python程序流程猿的薪资市场行情也是水涨船高,北美Python程序员的平均薪资高达hg12万美金。 对于有志学习Python的开发者而言,Python吸引人的地方不仅是有个优秀的 社区 ,而且还有大量的精品免費资源可用。连环创业家,Code(Love)创办人Paul Huang近日分享了11个优秀的Python学习资源,IT主管网编译如下: 一、Python优秀书藉 《Learn Python the Hard Way》的作者将书中的內容制做成 网络教程 免费提供,包括很多值得花時间完成的习题,只有多敲代码,你能够从菜鸟变成老虎。 二、Python视频教学 如果你习惯学习视频,那么能够考虑到选择 Udacity 的Python for the web 网上课程内容 ,通过学习该课程,你将对web统计数据的流转有着更深入的认识。 三、Github上的Python资源库 Github上带大量优质的Python资源库,例如 这个 。 四、Anaconda与iPython Notebook Anaconda和iPython Notebook 可以看作是Python的“电子表格”。通常Python的代码没办法通过html语言等web文件格式分享,尤其是展示涉及到不一样脚本制作中的数据图做成的结构化flow。Anaconda和iPython Notebook可以直观 数据可视化 的方式组织关联不同Python手机软件模块,在 nbviewer 中轻松展示结果,并且还能转化成HTML版本号的Notebook文件便于在Github上分享。 五、用Pandas解决互联网 大数据 Pandas 的开发基于前面提到的iPython Notebook,Python只能帮你处理载入到运行内存中的数据,Pandas可以让你高效载入更大规模数据,例如海量的CSV文件,进行数据预处理并用于透视表或者可视化。 六、用Flask开发小型程序 Flask是一个微框架,你能用它来开发一些小型web新项目,Flask包含了互动网址项目常用的一些可复用的数据通信模块,只必须一行代码,我也能生成一个互动功能。 七、用Django开发大型项目 如果你要开发一个完整的web框架,那么就试试 Django 吧,很多Pinterests和Instagram那样的超大规模网站都是用Django开发的。 八、用Python玩转API API是web经济发展的支柱之一,这儿详细介绍一个 Python 第三方API精华列表 ,你可以用Python调用那些很酷的数据,让你的应用与众不同。 九、 Python的机器学习资源库 这个Github上的Python 机器学习 库提供大量优秀资源,让你快速新手入门。 十、Plotly帮你用数据讲童话故事 柴静的雾霾天气演讲为什么火?因为她用数据讲故事呗。只需几行代码,你就能用 Plot.ly 生成各种常见数据图表。 十一、检测你的Python段位 当你自以为学得类似了,开始澎涨的时候,就可以考虑去 HackerRank 测试一下下你的“段位”,高段位的还有可能值得获得工作机会哟。 来源:IT经理网 连接:http://www.ctocio.com/ccnews/19793.html 本文采用「CC BY-SA 4.0 CN」协议转载自互联网、仅供学习交流,内容版权归原作者所有,如涉作品、版权和其他问题请给「 我们 」留言处理。
数据分析
2016-03-14 14:35:00
  美国时间周一,美股收盘全线上涨,标准普尔 500 指数和纳斯达克综合指数再创历史新高,受新冠肺炎疫情影响的市场人气有所改善。   道琼斯指数收于 28308.46 点,上涨 378.13 点,涨幅 1.35%;标准普尔 500 指数收于 3431.28 点,上涨 1.00%,创历史新高,并首次收于 3400 点上方;纳斯达克综合指数收于 11379.72 点,上涨 0.60%,也创下新高。   具体来说,在美股周一交易中,科技龙头股多数上涨,苹果股价收于 503.43 美元,上涨 1.20%;谷歌母公司 Alphabet 股价收于 1588.20 美元,上涨 0.49%;亚马逊收于 3307.46 美元,上涨 0.69%;微软收于 213.69 美元,上涨 0.31%;Facebook 收于 271.39 美元,上涨 1.64%;甲骨文收于 56.01 美元,上涨 1.49%;IBM 收于 125.68 美元,上涨 2.05%;奈飞(Netflix)收于 488.81 美元,下跌 0.71%;特斯拉收于 2014.20 美元,下跌 1.75%;推特(Twitter)涨 3.13%,优步(Uber)涨 0.68%;Lyft 涨 0.17%。   美股中的芯片龙头股普遍上涨,台积电收于 78.90 美元,上涨 0.71%;英伟达收于 508.81 美元,上涨 0.29%;英特尔收于 49.14 美元,下跌 0.28%;博通收于 334.00 美元,上涨 1.21%;高通收于 115.91 美元,上涨 2.58%;德州仪器收于 141.02 美元,上涨 0.49%;AMD 收于 83.08 美元,下跌 0.87%;应用材料公司涨 2.36%;美光科技涨 2.58%。   在美国上市的主要中概股普遍上涨,网易收于 492.89 美元,上涨 1.63%;阿里巴巴收于 276.02 美元,上涨 3.84%;京东收于 76.18 美元,上涨 1.60%;百度收于 122.88 美元,上涨 0.35%;拼多多收于 83.16 美元,下跌 1.00%;哔哩哔哩收于 46.12 美元,上涨 2.51%;好未来收于 74.56 美元,上涨 0.63%;爱奇艺收于 19.46 美元,上涨 2.31%;跟谁学收于 87.50 美元,下跌 3.06%;微博收于 34.79 美元,上涨 2.96%;新浪涨 1.97%;搜狐涨 3.91%;搜狗涨 0.81%;携程涨 1.64%;前程无忧涨 0.82%;汽车之家涨 1.49%;58 同城涨 0.02%;蔚来涨 6.02%;金山云跌 2.48%,理想汽车涨 13.78%。   由于美国新冠肺炎治疗取得积极进展,航空公司和邮轮运营商的股价上涨。美国联合航空公司和美国航空公司股价上涨超过9%;挪威邮轮公司和皇家加勒比邮轮公司分别上涨 7.6% 和 4.7%。   美股周一的上涨,是在美国新冠肺炎确诊病例数持续下降的情况下实现的。根据约翰霍普金斯大学的数据,本月早些时候,美国单日新增新冠确诊病例曾高达 6.4 万多例,但目前单日新增病例末超过 4.9 万例。数据显示,上周日,美国新增确诊病例不到 3.7 万例。   市场研究公司 Fundstrat Global Advisors 研究主管汤姆·李(Tom Lee)在一份报告中表示:“我认为未来几周或几个月疫情可能会发生一些有趣的变化。我认为,9 月份美国单日新增新冠确诊病例降至 1 万例以下是完全有可能的。”   他指出:“美国很快就会成为世界上最安全的地方之一。如果这是真的,资本也会涌向美国,这意味着股价会进一步上涨。”   上周日,美国食品和药物管理局(FDA)颁发了一份新冠肺炎患者恢复期血浆紧急使用授权书,这种治疗方法使用的是已痊愈的患者捐献的血浆。   美国总统特朗普在周日的新闻发布会上表示,这种血浆治疗方法将新冠肺炎的死亡率降低了 35%。
互联网
2020-08-25 07:42:00
摘要:本文介绍7款 Python 数据图表工具的比较 Python 的 科学栈 相当成熟,各种应用场景都有相关的模块,包括 机器学习 和 数据分析 。 数据可视化 是发现数据和展示结果的重要一环,只不过过去以来,相对于 R 这样的工具,发展还是落后一些。 幸运的是,过去几年出现了很多新的Python数据可视化库,弥补了一些这方面的差距。 matplotlib 已经成为事实上的数据可视化方面最主要的库,此外还有很多其他库,例如 vispy, bokeh , seaborn , pyga, folium 和 networkx ,这些库有些是构建在 matplotlib 之上,还有些有其他一些功能。 本文会基于一份真实的数据,使用这些库来对数据进行可视化。通过这些对比,我们期望了解每个库所适用的范围,以及如何更好的利用整个 Python 的数据可视化的生态系统。 我们在 Dataquest 建了一个交互课程,教你如何使用 Python 的数据可视化工具。如果你打算深入学习,可以点 这里 。 探索数据集 在我们探讨数据的可视化之前,让我们先来快速的浏览一下我们将要处理的数据集。我们将要使用的数据来自 openflights 。我们将要使用 航线数据集 、 机场数据集 、 航空公司数据集 。其中,路径数据的每一行对应的是两个机场之间的飞行路径;机场数据的每一行对应的是世界上的某一个机场,并且给出了相关信息;航空公司的数据的每一行给出的是每一个航空公司。 首先我们先读取数据: #Importthepandaslibrary. import pandas #Readintheairportsdata. airports = pandas . read_csv ( “airports.csv” , header = None , dtype = str ) airports . columns = [ “id” , “name” , “city” , “country” , “code” , “icao” , “latitude” , “longitude” , “altitude” , “offset” , “dst” , “timezone” ] #Readintheairlinesdata. airlines = pandas . read_csv ( “airlines.csv” , header = None , dtype = str ) airlines . columns = [ “id” , “name” , “alias” , “iata” , “icao” , “callsign” , “country” , “active” ] #Readintheroutesdata. routes = pandas . read_csv ( “routes.csv” , header = None , dtype = str ) routes . columns = [ “airline” , “airline_id” , “source” , “source_id” , “dest” , “dest_id” , “codeshare” , “stops” , “equipment” ] 这些数据没有列的首选项,因此我们通过赋值 column 属性来添加列的首选项。我们想要将每一列作为字符串进行读取,因为这样做可以简化后续以行 id 为匹配,对不同的数据框架进行比较的步骤。我们在读取数据时设置了 dtype 属性值达到这一目的。 我们可以快速浏览一下每一个数据集的数据框架。 airports . head ( ) Python airlines.head() Python routes.head() 我们可以分别对每一个单独的数据集做许多不同有趣的探索,但是只要将它们结合起来分析才能取得最大的收获。Pandas 将会帮助我们分析数据,因为它能够有效的过滤权值或者通过它来应用一些函数。我们将会深入几个有趣的权值因子,比如分析航空公司和航线。 那么在此之前我们需要做一些数据清洗的工作。 routes=routes[routes[“airline_id”]!=”N”] 这一行命令就确保了我们在 airline_id 这一列只含有数值型数据。 制作柱状图 现在我们理解了数据的结构,我们可以进一步地开始描点来继续探索这个问题。首先,我们将要使用 matplotlib 这个工具,matplotlib 是一个相对底层的 Python 栈中的描点库,所以它比其他的工具库要多敲一些命令来做出一个好看的曲线。另外一方面,你可以使用 matplotlib 几乎做出任何的曲线,这是因为它十分的灵活,而灵活的代价就是非常难于使用。 我们首先通过做出一个柱状图来显示不同的航空公司的航线长度分布。一个柱状图将所有的航线的长度分割到不同的值域,然后对落入到不同的值域范围内的航线进行计数。从中我们可以知道哪些航空公司的航线长,哪些航空公司的航线短。 为了达到这一点,我们需要首先计算一下航线的长度,第一步就要使用距离公式,我们将会使用余弦半正矢距离公式来计算经纬度刻画的两个点之间的距离。 importmath defhaversine(lon1,lat1,lon2,lat2): #Convertcoordinatestofloats. lon1,lat1,lon2,lat2=[float(lon1),float(lat1),float(lon2),float(lat2)] #Converttoradiansfromdegrees. lon1,lat1,lon2,lat2=map(math.radians,[lon1,lat1,lon2,lat2]) #Computedistance. dlon=lon2-lon1 dlat=lat2-lat1 a=math.sin(dlat/2)**2+math.cos(lat1)*math.cos(lat2)*math.sin(dlon/2)**2 c=2*math.asin(math.sqrt(a)) km=6367*c returnkm 然后我们就可以使用一个函数来计算起点机场和终点机场之间的单程距离。我们需要从路线数据框架得到机场数据框架所对应的 source_id 和 dest_id,然后与机场的数据集的 id 列相匹配,然后就只要计算就行了,这个函数是这样的: defcalc_dist(row): dist=0 try: #Matchsourceanddestinationtogetcoordinates. source=airports[airports[“id”]==row[“source_id”]].iloc[0] dest=airports[airports[“id”]==row[“dest_id”]].iloc[0] #Usecoordinatestocomputedistance. dist=haversine(dest[“longitude”],dest[“latitude”],source[“longitude”],source[“latitude”]) except(ValueError,IndexError): pass returndist 如果 source_id 和 dest_id 列没有有效值的话,那么这个函数会报错。因此我们需要增加 try/catch 模块对这种无效的情况进行捕捉。 最后,我们将要使用 pandas 来将距离计算的函数运用到 routes 数据框架。这将会使我们得到包含所有的航线线长度的 pandas 序列,其中航线线的长度都是以公里做单位。 route_lengths=routes.apply(calc_dist,axis=1) 现在我们就有了航线距离的序列了,我们将会创建一个柱状图,它将会将数据归类到对应的范围之内,然后计数分别有多少的航线落入到不同的每个范围: importmatplotlib.pyplotasplt %matplotlibinline plt.hist(route_lengths,bins=20) 我们用 import matplotlib.pyplot as plt 导入 matplotlib 描点函数。然后我们就使用 %matplotlib inline 来设置 matplotlib 在 ipython 的 notebook 中描点,最终我们就利用 plt.hist(route_lengths, bins=20) 得到了一个柱状图。正如我们看到的,航空公司倾向于运行近距离的短程航线,而不是远距离的远程航线。 使用 seaborn 我们可以利用 seaborn 来做类似的描点,seaborn 是一个 Python 的高级库。Seaborn 建立在 matplotlib 的基础之上,做一些类型的描点,这些工作常常与简单的统计工作有关。我们可以基于一个核心的概率密度的期望,使用 distplot 函数来描绘一个柱状图。一个核心的密度期望是一个曲线 —— 本质上是一个比柱状图平滑一点的,更容易看出其中的规律的曲线。 importseaborn seaborn.distplot(route_lengths,bins=20) 正如你所看到的那样,seaborn 同时有着更加好看的默认风格。seaborn 不含有与每个 matplotlib 的版本相对应的版本,但是它的确是一个很好的快速描点工具,而且相比于 matplotlib 的默认图表可以更好的帮助我们理解数据背后的含义。如果你想更深入的做一些统计方面的工作的话,seaborn 也不失为一个很好的库。 条形图 柱状图也虽然很好,但是有时候我们会需要航空公司的平均路线长度。这时候我们可以使用条形图--每条航线都会有一个单独的状态条,显示航空公司航线的平均长度。从中我们可以看出哪家是国内航空公司哪家是国际航空公司。我们可以使用pandas,一个python的 数据分析 库,来酸楚每个航空公司的平均航线长度。 importnumpy #Putrelevantcolumnsintoadataframe. route_length_df=pandas.DataFrame({“length”:route_lengths,”id”:routes[“airline_id”]}) #Computethemeanroutelengthperairline. airline_route_lengths=route_length_df.groupby(“id”).aggregate(numpy.mean) #Sortbylengthsowecanmakeabetterchart. airline_route_lengths=airline_route_lengths.sort(“length”,ascending=False) 我们首先用航线长度和航空公司的id来搭建一个新的数据框架。我们基于airline_id把route_length_df拆分成组,为每个航空公司建立一个大体的数据框架。然后我们调用pandas的aggregate函数来获取航空公司数据框架中长度列的均值,然后把每个获取到的值重组到一个新的数据模型里。之后把数据模型进行排序,这样就使得拥有最多航线的航空公司拍到了前面。 这样就可以使用matplotlib把结果画出来。 plt.bar(range(airline_route_lengths.shape[0]),airline_route_lengths[“length”]) Matplotlib的plt.bar方法根据每个数据模型的航空公司平均航线长度(airline_route_lengths[“length”])来做图。 问题是我们想看出哪家航空公司拥有的航线长度是什么并不容易。为了解决这个问题,我们需要能够看到坐标轴标签。这有点难,毕竟有这么多的航空公司。一个能使问题变得简单的方法是使图表具有交互性,这样能实现放大跟缩小来查看轴标签。我们可以使用bokeh库来实现这个--它能便捷的实现交互性,作出可缩放的图表。 要使用booked,我们需要先对数据进行预处理: deflookup_name(row): try: #Matchtherowidtotheidintheairlinesdataframesowecangetthename. name=airlines[“name”][airlines[“id”]==row[“id”]].iloc[0] except(ValueError,IndexError): name=”” returnname #Addtheindex(theairlineids)asacolumn. airline_route_lengths[“id”]=airline_route_lengths.index.copy() #Findalltheairlinenames. airline_route_lengths[“name”]=airline_route_lengths.apply(lookup_name,axis=1) #Removeduplicatevaluesintheindex. airline_route_lengths.index=range(airline_route_lengths.shape[0]) 上面的代码会获取airline_route_lengths中每列的名字,然后添加到name列上,这里存贮着每个航空公司的名字。我们也添加到id列上以实现查找(apply函数不传index)。 最后,我们重置索引序列以得到所有的特殊值。没有这一步,Bokeh 无法正常运行。 现在,我们可以继续说图表问题: importnumpyasnp frombokeh.ioimportoutput_notebook frombokeh.chartsimportBar,show output_notebook() p=Bar(airline_route_lengths,’name’,values=’length’,title=”Averageairlineroutelengths”) show(p) 用 output_notebook 创建背景虚化,在 iPython 的 notebook 里画出图。然后,使用数据帧和特定序列制作条形图。最后,显示功能会显示出该图。 这个图实际上不是一个图像--它是一个 JavaScript 插件。因此,我们在下面展示的是一幅屏幕截图,而不是真实的表格。 有了它,我们可以放大,看哪一趟航班的飞行路线最长。上面的图像让这些表格看起来挤在了一起,但放大以后,看起来就方便多了。 水平条形图 Pygal 是一个能快速制作出有吸引力表格的 数据分析 库。我们可以用它来按长度分解路由。首先把我们的路由分成短、中、长三个距离,并在 route_lengths 里计算出它们各占的百分比。 Python long_routes = len([k for k in route_lengths if k > 10000]) / len(route_lengths) medium_routes = len([k for k in route_lengths if k < 10000 and k > 2000]) / len(route_lengths) short_routes = len([k for k in route_lengths if k < 2000]) / len(route_lengths) 然后我们可以在 Pygal 的水平条形图里把每一个都绘成条形图: 首先,我们创建一个空图。然后,我们添加元素,包括标题和条形图。每个条形图通过百分比值(最大值是100)显示出该类路由的使用频率。 最后,我们把图表渲染成文件,用 IPython 的 SVG 功能载入并展示文件。这个图看上去比默认的 matplotlib 图好多了。但是为了制作出这个图,我们要写的代码也多很多。因此,Pygal 可能比较适用于制作小型的展示用图表。 散点图 在散点图里,我们能够纵向比较数据。我们可以做一个简单的散点图来比较航空公司的 id 号和航空公司名称的长度: Python name_lengths = airlines[“name”].apply(lambda x: len(str(x))) plt.scatter(airlines[“id”].astype(int), name_lengths) 首先,我们使用 pandasapplymethod 计算每个名称的长度。它将找到每个航空公司的名字字符的数量。然后,我们使用 matplotlib 做一个散点图来比较航空 id 的长度。当我们绘制时,我们把 theidcolumn of airlines 转换为整数类型。如果我们不这样做是行不通的,因为它需要在 x 轴上的数值。我们可以看到不少的长名字都出现在早先的 id 中。这可能意味着航空公司在成立前往往有较长的名字。 我们可以使用 seaborn 验证这个直觉。Seaborn 增强版的散点图,一个联合的点,它显示了两个变量是相关的,并有着类似地分布。 Python data = pandas.DataFrame({“lengths”: name_lengths, “ids”: airlines[“id”].astype(int)}) seaborn.jointplot(x=”ids”, y=”lengths”, data=data) 上面的图表明,两个变量之间的相关性是不明确的——r 的平方值是低的。 静态 maps 我们的数据天然的适合绘图-机场有经度和纬度对,对于出发和目的机场来说也是。 第一张图做的是显示全世界的所有机场。可以用扩展于 matplotlib 的 basemap 来做这个。这允许画世界地图和添加点,而且很容易定制。 Python # Import the basemap package from mpl_toolkits.basemap import Basemap # Create a map on which to draw.We’re using a mercator projection, and showing the whole world. m = Basemap(projection=’merc’,llcrnrlat=-80,urcrnrlat=80,llcrnrlon=-180,urcrnrlon=180,lat_ts=20,resolution=’c’) # Draw coastlines, and the edges of the map. m.drawcoastlines() m.drawmapboundary() # Convert latitude and longitude to x and y coordinates x, y = m(list(airports[“longitude”].astype(float)), list(airports[“latitude”].astype(float))) # Use matplotlib to draw the points onto the map. m.scatter(x,y,1,marker=’o’,color=’red’) # Show the plot. plt.show() 在上面的代码中,首先用 mercator projection 画一个世界地图。墨卡托投影是将整个世界的绘图投射到二位曲面。然后,在地图上用红点点画机场。 上面地图的问题是找到每个机场在哪是困难的-他们就是在机场密度高的区域合并城一团红色斑点。 就像聚焦不清楚,有个交互制图的库,folium,可以进行放大地图来帮助我们找到个别的机场。 Python import folium # Get a basic world map. airports_map = folium.Map(location=[30, 0], zoom_start=2) # Draw markers on the map. for name, row in airports.iterrows(): # For some reason, this one airport causes issues with the map. if row[“name”] != “South Pole Station”: airports_map.circle_marker(location=[row[“latitude”], row[“longitude”]], popup=row[“name”]) # Create and show the map. airports_map.create_map(‘airports.html’) airports_map Folium 使用 leaflet.js 来制作全交互式地图。你可以点击每一个机场在弹出框中看名字。在上边显示一个截屏,但是实际的地图更令人印象深刻。Folium 也允许非常广阔的修改选项来做更好的标注,或者添加更多的东西到地图上。 画弧线 在地图上看到所有的航空路线是很酷的,幸运的是,我们可以使用 basemap 来做这件事。我们将画 弧线 连接所有的机场出发地和目的地。每个弧线想展示一个段都航线的路径。不幸的是,展示所有的线路又有太多的路由,这将会是一团糟。替代,我们只现实前 3000 个路由。 Python # Make a base map with a mercator projection.Draw the coastlines. m = Basemap(projection=’merc’,llcrnrlat=-80,urcrnrlat=80,llcrnrlon=-180,urcrnrlon=180,lat_ts=20,resolution=’c’) m.drawcoastlines() # Iterate through the first 3000 rows. for name, row in routes[:3000].iterrows(): try: # Get the source and dest airports. source = airports[airports[“id”] == row[“source_id”]].iloc[0] dest = airports[airports[“id”] == row[“dest_id”]].iloc[0] # Don’t draw overly long routes. if abs(float(source[“longitude”]) – float(dest[“longitude”])) < 90: # Draw a great circle between source and dest airports. m.drawgreatcircle(float(source[“longitude”]), float(source[“latitude”]), float(dest[“longitude”]), float(dest[“latitude”]),linewidth=1,color=’b’) except (ValueError, IndexError): pass # Show the map. plt.show() 上面的代码将会画一个地图,然后再在地图上画线路。我们添加一了写过滤器来阻止过长的干扰其他路由的长路由。 画网络图 我们将做的最终的探索是画一个机场网络图。每个机场将会是网络中的一个节点,并且如果两点之间有路由将划出节点之间的连线。如果有多重路由,将添加线的权重,以显示机场连接的更多。将使用 networkx 库来做这个功能。 首先,计算机场之间连线的权重。 Python # Initialize the weights dictionary. weights = {} # Keep track of keys that have been added once — we only want edges with a weight of more than 1 to keep our network size manageable. added_keys = [] # Iterate through each route. for name, row in routes.iterrows(): # Extract the source and dest airport ids. source = row[“source_id”] dest = row[“dest_id”] # Create a key for the weights dictionary. # This corresponds to one edge, and has the start and end of the route. key = “{0}_{1}”.format(source, dest) # If the key is already in weights, increment the weight. if key in weights: weights[key] += 1 # If the key is in added keys, initialize the key in the weights dictionary, with a weight of 2. elif key in added_keys: weights[key] = 2 # If the key isn’t in added_keys yet, append it. # This ensures that we aren’t adding edges with a weight of 1. else: added_keys.append(key) 一旦上面的代码运行,这个权重字典就包含了每两个机场之间权重大于或等于 2 的连线。所以任何机场有两个或者更多连接的路由将会显示出来。 Python # Import networkx and initialize the graph. import networkx as nx graph = nx.Graph() # Keep track of added nodes in this set so we don’t add twice. nodes = set() # Iterate through each edge. for k, weight in weights.items(): try: # Split the source and dest ids and convert to integers. source, dest = k.split(“_”) source, dest = [int(source), int(dest)] # Add the source if it isn’t in the nodes. if source not in nodes: graph.add_node(source) # Add the dest if it isn’t in the nodes. if dest not in nodes: graph.add_node(dest) # Add both source and dest to the nodes set. # Sets don’t allow duplicates. nodes.add(source) nodes.add(dest) # Add the edge to the graph. graph.add_edge(source, dest, weight=weight) except (ValueError, IndexError): pass pos=nx.spring_layout(graph) # Draw the nodes and edges. nx.draw_networkx_nodes(graph,pos, node_color=’red’, node_size=10, alpha=0.8) nx.draw_networkx_edges(graph,pos,width=1.0,alpha=1) # Show the plot. plt.show() 总结 有一个成长的数据可视化的 Python 库,它可能会制作任意一种可视化。大多数库基于 matplotlib 构建的并且确保一些用例更简单。如果你想更深入的学习怎样使用 matplotlib,seaborn 和其他工具来可视化数据,在 这儿 检出其他课程。 原文出处: Vik Paruchuri 译文出处: 开源中国 本文采用「CC BY-SA 4.0 CN」协议转载自互联网、仅供学习交流,内容版权归原作者所有,如涉作品、版权和其他问题请给「 我们 」留言处理。
数据分析
2016-03-13 01:21:00
【来源:博客园】京东、拼多多必有一战
  文/长庚君   来源:长庚科技(ID:changgengxiaobao)   上周,京东与拼多多、阿里巴巴先后披露最新财报。财报发出后,阿里巴巴当日股价微跌 1.01%,次日上涨 3.04%,财报并没有对股价产生太大影响。   不过,拼多多与京东却出现了K型走势,从股价表现看,一个向南狂奔,一个向北狂奔。   其中,拼多多在上周五盘前发布财报后,股价当日暴跌 13.52%,一夜之间,市值蒸发 157.24 亿美元。而京东在上周一发布财报后,股价持续 5 天上涨,一周涨幅接近 20%,股价创历史新高。   先来看看拼多多。   谈拼多多财报前,可以先看一组数据对比,该数据对比由雪球大V梁宏在上周末发布,随后在雪球引发热烈讨论,并在国外投资人社区 seeking alpha 被广泛引用。   梁宏对拼多多的质疑在于,阿里巴巴受疫情影响,Q1 的 GMV 同比增速是0%,Q2 同比增速是 20%;京东 Q1 的 GMV 同比增速为 20%,Q2 同比增速在 30% 左右,而拼多多 Q1 的 GMV 增速是 99%,Q2 增速是 48%。   一季度,在电商普遍受到疫情影响的情况下,阿里、京东这些电商的同比增速都在下滑,而拼多多却逆市大增,一季度财报后几个月间,拼多多股价暴涨了近 1 倍。二季度,阿里、京东都开始恢复的时候,拼多多的增速却出现大幅下滑。   在 seeking alpha 上,部分海外投资人质疑拼多多的财报是在秀财技。雪球上,也有很多对拼多多财务数据是否真实的讨论。   从公开披露的财报信息看,二季度,拼多多平台年活跃买家数 6.832 亿,同比增长 41%,平均月活用户数 5.688 亿,同比增长 55%,营收 121.93 亿元,同比增长 67%。   此外,拼多多在二季度的亏损也大幅收窄,非通用会计准则下,归属于普通股股东的净亏损为 7724 万元,去年同期为净亏损 4.11 亿元。   财报之后,拼多多也在电话会议中表示,,"百亿补贴"仍会持续,并覆盖更多家庭必需品和农产品。   对比竞争对手,京东在去年推出了针对下沉市场的京喜平台,并跟进百亿补贴。阿里巴巴也在今年 1 月开始推出自己的百亿补贴计划。   这意味着,尽管拼多多的亏损在收窄,但是竞争对手补贴不停,拼多多就很难实现盈利。   长庚君认为,以今天的市场环境看,资本市场对无法盈利的公司的耐心终究是有限的。特斯拉也是在去年宣布盈利后,股价才开始大幅飞涨。   拼多多的挑战在于,如何在前有阿里巴巴,后有京东的局面下,仍然维持高速增长,并让资本市场维持信心。   接下先来说说股价大涨的京东。   二季度,京东营收首次突破 2000 亿元,同比增长 33.8%。除了京东具有优势的传统 3C 商品外,京东日用品销售也实现了同比 45% 的增长,远程医疗业务更是增长了 400%。   另外京东在本季度中还有一组数据特别值得关注:京东本季度的年度活跃用户已经突破 3.2 亿,同比增长 29.9%。二季度京东新增用户 3000 万,其中接近 80% 来自下沉市场。   与这组数据匹配的是,京东还在本季度收购了线下连锁企业五星电器,并计划未来 5 年内将在在地级市打造 300 家单店面积超过万平的京东体验店。   长庚君认为,这次财报披露的数据至少说明几个问题:首先,京东是疫情受益股,因疫情影响及 618 大促的原因,京东在远程医疗、日用品销售上取得了很好的业绩。   其次,关于下沉市场,大家过去更多是关注拼多多如何从阿里手中抢用户,而京东以明修栈道暗度陈仓的方式,从下沉市场也抢到了不少用户,而且京东也开始以投资并购的方式加快在这一市场的布局。   值得注意的是,京东在财报中并没有给出未来的业绩展望。   这也说明了 618 大促和疫情受益都只是一个短期效应。在下沉市场的争夺上,京东在加快速度,但是他们并不打算在完成前就给资本市场画个大饼。前者,决定了京东短期股价走势,而后者才是决定未来京东股价长远表现的动力。   简单来说,就是拼多多在前面抢阿里的用户,而京东则在后面照葫芦画瓢去抢拼多多的用户。京东未来股价是涨是跌,就看他们能从拼多多手里抢多少市场份额了。   最后,我们来看看阿里巴巴。   上周,阿里对外披露了 2021 财年第一季度业绩。(注:以自然年计算,阿里发布的依然是 2020 年二季度数据)   财报显示,二季度营收 1537.51 亿元,同比增长 34%;其中核心业务收入 1333.18 亿元,占总收入的 87%。   唯一一组有意思的数据对比是,二季度京东新增用户 3000 万,拼多多新增用户 5510 万,而阿里新增用户是 1600 万。   长庚君认为,这是一份中规中矩的财报,没什么亮点,但也没什么能挑刺儿的地方。
互联网
2020-08-25 07:00:00
昨天(3月9日)下午,经过三个多小时的较量,韩国棋手李世石宣布向谷歌 人工智能 AplphaGo认输,意味着 人工智能 获得了这场人机世纪之战的第一场胜利。而此前AlphaGo已经以平等条件击败了欧洲围棋冠军樊麾。 有专家在赛后评论说,AlphaGo的胜利只能算是算法的胜利,因为人工智能目前只是一种算法程序,没有道德,也没有情感,更谈不上情感。 小编其实认为这并没有错,而且就算李世石最后输给了AlphaGo,这样不代表人类输给了机器人。因为这台打败了人类最高智能代表的机器,是由人类一手精心打造的,其内部的算法也是众多科学家一步一步改进得来的。 本文的主题,就是AlphaGo能够成功击败专业棋手的功臣之一:蒙特卡罗树搜索(Monte Carlo Tree Search)。 蒙特卡罗搜索树的贡献,从谷歌AlphaGo的官方网站上就可见一斑。 完美信息博弈 我们知道,围棋有着明确的游戏规则,其中不存在随机或运气成分(如掷骰子或洗牌)。这类游戏都可以归类为所谓的完美信息博弈(perfect information games)。在完美信息博弈中,每时点参与人采取一个行动,每个参与人在其决策的同时知道以前所有的行动。 因此,理论上我们是可以构建一个包含了所有可能结果的树,因为游戏中所有的一切都是有规则可循的(fully determined)。几乎所有的弈棋程序,都是依靠其强大、精确的计算能力,来预测好的下法。 为什么之前的弈棋程序没有征服围棋? AlphaGo并不是第一个智能弈棋程序。1997年时,已有超级电脑深蓝战胜国际象棋棋王卡斯帕罗夫的先例。那么为什么深蓝没有乘胜追击,挑战围棋呢?这是因为IBM在比赛结束后就让深蓝退役了。O(∩_∩)O~ 说正经的,这很大程度上与围棋的极大可能性和此前弈棋程序的算法限制有关。 我们知道,围棋棋盘横竖各有19条线,共有361个落子点,双方交替落子,这意味着围棋总共可能有10^171(1后面有171个零)种可能性。这超过了宇宙中的原子总数是10^80(1后面80个零)! 而传统AI一般采用的是暴力搜索方法(深蓝就是这样干的),就所有可能存在的下法构建一个树。这样自然根本无法应对围棋游戏啦。 什么是蒙特卡罗树搜索? “蒙特卡洛树搜索”是一种启发式的搜索策略,能够基于对搜索空间的随机抽样来扩大搜索树,从而分析围棋这类游戏中每一步棋应该怎么走才能够创造最好机会。 一位名叫苏椰的知乎用户举了这样一个例子,以通俗的语言进行了解释:假如筐里有100个苹果,让我每次闭眼拿1个,挑出最大的。于是我随机拿1个,再随机拿1个跟它比,留下大的,再随机拿1个……我每拿一次,留下的苹果都至少不比上次的小。拿的次数越多,挑出的苹果就越大,但我除非拿100次,否则无法肯定挑出了最大的。这个挑苹果的算法,就属于蒙特卡罗算法:尽量找好的,但不保证是最好的。 需要说明的是,蒙特卡罗树搜索并不是只有一种算法,而是一类算法。其中最流行的算法之一就是UCT(upper confidence bounds applied to trees)。 AlphaGo是第一个使用该算法的弈棋程序吗? AlphaGo不是第一个使用蒙特卡罗树搜索的弈棋程序。 据senseis.xmp.net网站介绍,第一个使用UCT算法的围棋程序是MoGo。而且,MoGo在2008年的美国围棋公开赛上,第一次在19×19的全尺寸棋盘上击败了职业选手(当然与AlphaGo不同,这位职业选手让了9个子)。 AlphaGo是如何使用蒙特卡罗树搜索的? 虽然“蒙特卡洛树搜索”在此前一些弈棋程序中也有采用,在相对较小的棋盘中能够很好地发挥作用,但在正规的全尺寸棋盘上,这种方法的缺陷也体现出来了,因为涉及的搜索树实在太大了。 但AlphaGo采用了很聪明的策略,利用深度学习的方法降低搜索树的复杂性。因此“深度学习”和“蒙特卡洛树搜索”就成为它的两个关键因素。在每个模拟游戏中,AlphaGo都有两个大脑指引它进行搜索:价值网络(value network)和政策网络(policy network)。“政策网络”观察棋盘布局企图找到较好的下法,“价值网络”则预测这样下的话对方棋手赢棋的可能。结合这两个建议,AlphaGo最终决定怎样落子才是胜算最大的。 能用 Python 实现这种树搜索法吗? 当然可以,而且一个使用UCT算法实现的Python弈棋程序只有400行代码左右哦!想要下载试玩的话,就看本期另外一篇推送吧。 参考资料: https://jeffbradberry.com/posts/2015/09/intro-to-monte-carlo-tree-search/ http://senseis.xmp.net/MonteCarlo http://senseis.xmp.net/UCT http://tech.huanqiu.com/news/2016-03/8668752.html https://www.zhihu.com/question/20254139 http://googleresearch.blogspot.com/2016/01/alphago-mastering-ancient-game-of-go.html How AlphaGo Works 本文为专栏文章,来自:编程派,内容观点不代表本站立场,如若转载请联系专栏作者,本文链接:https://www.afenxi.com/9800.html 。
数据分析
2016-03-11 01:33:00
  8 月 24 日消息,英唐智控今天通过互动平台回应投资者提问时表示,其收购的先锋微技术自有的生产设备中包含有日本产的光刻机设备,其收购事项已经获得日本政府批准。先锋微技术光刻机主要用于模拟芯片的制造,在满足其自身生产研发需要的前提下,不排除向具备条件的其他客户提供产能支持,但公司目前尚未启动该类型的合作。   或许是受该消息影响,英唐智控今天股价上涨了 4.43%,报收 7.07 元/股。   早在今年 3 月,英唐智控发布公告称,为实现向上游半导体领域纵向衍生的战略布局,英唐智控控股重孙公司科富香港控股有限公司与日本先锋集团签署《股权收购协议》,双方同意以基准价格 30 亿日元现金(约 1.92 亿元人民币)收购先锋集团所持有的先锋微技术有限公司(以下简称“先锋微技术”)100% 股权。   今年 7 月 16 日晚间,英唐智控再度发布公告,宣布收购先锋微技术 100% 股权的交易已经通过日本政府的审批。   根据公告显示,先锋微技术成立于 2003 年,其前身可追溯至母公司先锋集团于 1977 年成立的半导体实验室,专注于光盘设备和图像处理的模拟 IC 和数字 IC 产品的研发生产,经过多年的发展,已经形成了包括光电集成电路、光学传感器、显示屏驱动 IC、车载 IC、MEMS 镜在内的主要产品,并提供 MBE 以及晶圆代工服务。   根据资料显示,先锋微技术 2019 年 4 月 1 日至 2019 年 12 月 31 日未经审计净利润为-731.16 万元,较前期出现下滑。   英唐智控指出,先锋微技术在光电数字信号转换传输领域的长期积累,可将其在光电集成电路、光学传感器、车载 IC 领域的技术应用转换至当前快速发展的光通信市场和新能源汽车市场,再通过与公司在国内的光通信行业(如中兴、移动、光迅等)及新能源汽车行业(如比亚迪、吉利等)的客户资源结合,形成公司帮助获取国内客户个性化需求、再由先锋微技术快速响应完成定制化设计、最后交由(代)工厂完成生产制造并实现国内销售的产业链条,将有望迅速打开国内相关领域芯片设计开发市场。   而英唐智控收购先锋微技术的交易也引发的外界的极大关注。其关键原因在于,先锋微技术旗下拥有数台日本产的光刻机设备。由此,一些网友和媒体就误认为先锋微技术拥有研发制造光刻机的能力。   特别是在今年 5 月,美国对华为的第二轮制裁之后,华为的自研芯片制造就受到了限制。在此背景之下,光刻机等半导体制造所需的核心设备的自主也受到了国内的普遍关注。英唐智控收购先锋微技术的交易,以及对于先锋微技术拥有研发制造光刻机的能力误读的文章,引发了极大关注。   对此,在今年 5 月,英唐智控也对外澄清表示,“先锋微技术业务并不涉及光刻机的研发制造,其所拥有的光刻机设备为满足日常研发生产的需求对外购置,并非荷兰 ASML 产品。”   据英唐智控介绍,先锋微技术拥有的光刻机主要用于模拟芯片的制造。而根据芯智讯了解到的资料也显示,先锋微技术目前采用是 0.35 微米工艺制造光电传感器和 CMOS 传感器,这也意味着其拥有的光刻机可能也主要适用于 0.35 微米的光电传感器和 CMOS 处理器。虽然这个制程相对于目前最先进的 5nm 工艺来说,比较落后,但是对于模拟芯片来说,其对于制程工艺的要求要比逻辑芯片低很多。   关于先锋微技术的光刻机是否会向例如华为等国内企业提供代工服务的问题,英唐智控回应称,在满足其自身生产研发需要的前提下,不排除向具备条件的其他客户提供产能支持,但公司目前尚未启动该类型的合作。   另外,需要指出的是,虽然先锋微技术的自有光刻机为日本生产,但是也需要进一步确认其内部的核心器件的技术来源,此外还需要确认先锋微技术的模拟芯片生产线上是否存在美系半导体设备,如果不含美国技术和设备,那么为华为代工模拟芯片应该是没有问题的。   编辑:芯智讯-林子
互联网
2020-08-25 06:54:00
当我们进行网页爬虫时,我们会利用一定的规则从返回的 HTML 数据中提取出有效的信息。但是如果网页中含有 JavaScript 代码,我们必须经过渲染处理才能获得原始数据。此时,如果我们仍采用常规方法从中抓取数据,那么我们将一无所获。浏览器知道如何处理这些代码并将其展现出来,但是我们的程序该如何处理这些代码呢?接下来,我将介绍一个简单粗暴的方法来抓取含有 JavaScript 代码的网页信息。 大多数人利用 lxml 和 BeautifulSoup 这两个包来提取数据。本文中我将不会介绍任何爬虫框架的内容,因为我只利用最基础的 lxml 包来处理数据。也许你们会好奇为啥我更喜欢 lxml 。那是因为 lxml 利用元素遍历法来处理数据而不是像 BeautifulSoup 一样利用正则表达式来提取数据。本文中我将介绍一个非常有趣的案例——之前我突然发现我的文章出现在最近的 Pycoders weekly issue 147中,因此我想爬取 Pycoders weekly 中所有档案的链接。 很明显,这是一个含有 JavaScript 渲染的网页。我想要抓取网页中所有的档案信息和相应的链接信息。那么我该怎么处理呢?首先,我们利用 HTTP 方法无法获得任何信息。 import requests from lxml import html # storing response response = requests.get('http://pycoders.com/archive') # creating lxml tree from response body tree = html.fromstring(response.text) # Finding all anchor tags in response print tree.xpath('//div[@class="campaign"]/a/@href') 当我们运行上述代码时,我们无法获得任何信息。这怎么可能呢?网页中明明显示那么多档案的信息。接下来我们需要考虑如何解决这个问题? 如何获取内容信息? 接下来我将介绍如何利用 Web kit 从 JS 渲染网页中获取数据。什么是 Web kit呢?Web kit 可以实现浏览器所能处理的任何事情。对于某些浏览器来说,Web kit就是其底层的网页渲染工具。Web kit 是 QT 库的一部分,因此如果你已经安装 QT 和 PyQT4 库,那么你可以直接运行之。 你可以利用命令行来安装该软件库: sudo apt-get install python-qt4 现在所有的准备工作已经完成,接下来我们将使用一个全新的方法来提取信息。 解决方案 我们首先通过 Web kit 发送请求信息,然后等待网页被完全加载后将其赋值到某个变量中。接下来我们利用 lxml 从 HTML 数据中提取出有效的信息。这个过程需要一点时间,不过你会惊奇地发现整个网页被完整地加载下来了。 import sys from PyQt4.QtGui import * from PyQt4.Qtcore import * from PyQt4.QtWebKit import * class Render (QWebPage): def __init__ (self, url): self.app = QApplication(sys.argv) QWebPage.__init__(self) self.loadFinished.connect(self._loadFinished) self.mainFrame().load(QUrl(url)) self.app.exec_() def _loadFinished (self, result): self.frame = self.mainFrame() self.app.quit() 类 Render 可以用来渲染网页,当我们新建一个 Render 类时,它可以将 url 中的所有信息加载下来并存到一个新的框架中。 url = 'http://pycoders.com/archive/' # This does the magic.Loads everything r = Render(url) # Result is a QString. result = r.frame.toHtml() 利用以上的代码我们将 HTML 结果储存到变量 result 中,由于 lxml 无法直接处理该特殊的字符串数据,因此我们需要转换数据格式。 # QString should be converted to string before processed by lxml formatted_result = str(result.toAscii()) # Next build lxml tree from formatted_result tree = html.fromstring(formatted_result) # Now using correct Xpath we are fetching URL of archives archive_links = tree.xpath('//div[@class="campaign"]/a/@href') print archive_links 利用上述代码我们可以获得所有的档案链接信息,接下来我们可以利用这些 Render 和这些URL链接来提取文本内容信息。Web kit 提供了一个强大的网页渲染工具,我们可以利用这个工具从 JS 渲染的网页中抓取出有效的信息。 本文中我介绍了一个如何从 JS 渲染的网页中抓取信息的有效方法,这个工具虽然速度比较慢,但是却非常简单粗暴。我希望你会喜欢这篇文章。现在你可以将该方法运用到任何你觉得难以处理的网页中。 祝一切顺利。 原文链接: https://impythonist.wordpress.com/2015/01/06/ultimate-guide-for-scraping-javascript-rendered-web-pages/ 原文作者:Naren Aryan  译者:fibears 本文为专栏文章,来自:数据工匠,内容观点不代表本站立场,如若转载请联系专栏作者,本文链接:https://www.afenxi.com/9788.html 。
数据分析
2016-03-10 18:00:00
  摘要   数字货币不仅仅是一项技术,其所产生的连锁反应将是我们难以想象的。   过去一周里,「数字人民币」这个名词频繁登上热搜,引发了众多小伙伴的激烈讨论,在相关内容的评论区中,我也看到很多在发问:数字人民币和现在的移动支付有什么区别?也有人打趣说:意思钱就是个数字吗?其实我和大家一样,也有着相同的疑问。   网络流传的农业银行数字人民币 App 截图   事实上早在今年 4 月份,一张农业银行数字人民币 App 的「钱包」页面就在网络上流传开来,图片显示,数字人民币 App 拥有「扫码支付」、「汇款」、「收付款」、「碰一碰」四大功能,似乎与我们日常使用的支付宝和微信相差不大,但比较醒目的是,截图中有类似人民币样式的「电子货币」,并且还印有「中国人民银行」的字样,让人一看就不明觉厉。    什么是数字人民币?   包括我在内的很多人一看到「数字人民币」这个词时,就会把它和移动支付划上等号,其实它们是完全不同的两种概念,我们每天都使用支付宝、微信只是移动支付平台而已,至于钱则是放在银行卡,或者是支付宝、微信的虚拟钱包里的,也就相当于存款。   而央行数字货币,则是单独存储于数字设备中的数字资产,简单讲就是以手机为载体人民币,特别要注意的是,数字人民币是由中国人民银行(央行)发行的法定数字货币,由于数字人民币特有的法偿能力,使用数字人民币和掏出一张纸币没有任何区别,而在交易的时候,数字人民币也不需要绑定银行卡、只需要注册个人的数字钱包即可,这也是数字人民币与支付宝、微信在使用上的区别。   图源:微信支付官网   说到这里,很多小伙伴会不理解,既然已经有了移动支付,为什么还要再搞一个数字人民币?   首先,数字人民币由央行发行管理,有国家信用在背书;其次,由于数字人民币的特性,我们使用它时就像使用纸币一样,具备着匿名性,相比之下,在支付宝、微信等第三方商业平台中,个人的交易信息难免会留下痕迹,多少会存在隐私暴露和交易的风险;而对于社会或国家而言,数字人民币减少了印钞、物流运输的成本、而且数字化的管理也更精准、更高效,比如通过数字人民币,可以及时发现并阻止不法分子的诈骗行为、还有洗钱、贪污、行贿受贿等经济犯罪的现象。   图源:视觉中国   其实放眼全球,推进央行数字货币的进程并不算快,2020 年 7 月 23 日,全球首枚「央行数字货币」才刚刚诞生,这枚货币来自立陶宛中央银行,是立陶宛试点具有国家支持背景的数字货币。除此以外,美国、英国、瑞典等国也在评估试点发行央行数字货币,而我国则已经在进行小范围内的封闭试点,等到 2022 年,或许就能够在北京冬奥场景中使用上数字人民币了。    支付宝、微信会被淘汰吗?   如果数字人民币发行成功,很可能会对目前的移动支付格局产生影响。8 月 19 日,中国国际电视台(CGTN)针对数字人民币相关问题采访了复旦大学泛海国际金融学院的宋思奇教授,宋教授表示,中国市场很特殊,支付宝和微信已经形成了双寡头的格局,占据了 95% 的移动支付市场,这并非是一件好事,实际上,对于这些第三方商业公司是否权力过大已经争论不休,而央行数字人民币的出现可以改善现有的竞争环境,或者说可以提供更可靠的替代方案。   不过支付宝和微信等第三方平台并不会因此消失,反而有可能在其中受益,这就要提到数字人民币的分发机制——双层运营体系。具体来讲就是中央人民银行(央行)先把数字人民币兑换给第三方商业银行或者是其他金融机构,然后再由这些机构兑换给大众,这也就不难解释为什么文章开头的截图来自中国农业银行,而除了农行之外,工行、中行和建行也已经展开数字人民币的内测工作。当然了,支付宝和微信等作为金融机构,同样可以获得分发和流通数字货币的资格,早在几个月以前,支付宝就已经先后公开了 5 件有关央行数字货币的相关专利,可见支付宝的动作和嗅觉都非常敏感,也可以预见未来我们会在支付宝中使用到数字货币。   图源:滴滴出行官网   更值得关注的是,央行数字货币也会和众多第三方平台展开合作,7 月 8 日,来自新华社《经济参考报》的消息称,滴滴出行与中国人民银行数字货币研究所正式达成战略合作协议,将共同研究探索数字人民币在智慧出行领域的场景创新和应用。同时,还有消息称美团、B 站、字节跳动等也已参与至央行数字货币项目中。    数字人民币「钱景」何在?   前文中提到,数字人民币目前正在进行小范围封闭试点,或许在 2022 年的冬奥场景中才能用得上,而我国央行也没有给出具体的时间表,其实在我看来,推行数字人民币在技术上来说并不算困难,但是真正落地一定少不了多个环节的测试和检验,放眼全球,我国已经成为移动支付的领头羊,而在数字货币方面也很早便开始了布局,中国人民银行行长易纲此前在新华社的报道中表示,我国央行从 2014 年就展开了数字货币的研究工作,现在已经取得了积极进展。   不过特别要注意的是,数字货币的火热也给一些不法分子制造了可乘之机,近期就有个别机构冒用央行名义推出了所谓的数字人民币交易平台,这些平台都很有可能涉及到诈骗和传销,作为个人来说,一定要提高风险意识,防止上当受骗。当然了,网络上也谣传着一些似乎很有依据的传言,比如数字人民币降低了发行货币的门槛,会导致人民币滥发,造成通货膨胀,事实上当你读懂这篇文章,懂得数字人民币也受央行管控之后,这类谣言自然就不攻自破了。   数字人民币作为一项新技术,它的发展和普及不会一蹴而就,必然是一个螺旋式上升的过程,这几年间移动支付的技术已经深刻影响了我们的生活,而数字人民币还将在此基础上附加国家信用,现在看来,我们感知到的数字人民币也许只是一项新的技术,但在数十年后,数字人民币很有可能会影响到整个社会的商业形态、其产生的连锁反应一定是现如今难以想象的。   本文由极客公园 GeekPark 原创发布,转载请添加极客君微信 geekparker。
互联网
2020-08-25 06:52:00
最近有一些文章提出与年龄相关的问题:“ 崭露头角的年轻数据科学家们是学习R语言还是Python更好 “ 答案似乎都是“视情况而定”,在现实中没有必要在R和 Python 中做出选择,因为你两个都用得到。 它被称为RPy2: http://rpy.sourceforge.net/rpy2/doc-2.1/html/introduction.html 什么是”数据科学” 在谈论RPy2之前,先来说一下“数据科学”,我要说的是“数据科学”是一个奇怪的词。因为几乎所有的科学都是“数据科学”。“无数据科学”则是完全不同的领域:哲学。“数据科学”是一门通过系统观察,对照实验,贝叶斯推理的开放试验理念的科学学科。 “数据科学”的目标是从数据中得出有效的统计推论。标签“数据”是指数据用于做什么并不重要,但这是错误的:它是难以且不可能做到科学的在没有得到数据的详细信息,得去了解系统的弱点并生产出来,智能、灵敏的应对非理想好数据。 任何有趣的数据集至少有以下一些特性:缺失值,异常值和噪声。缺失值:顾名思义就是缺失的值。异常值:离群怪异的事件,由于某种原因或其他的事件其值远远的超出合理界限。噪声的是,从所测量的值的随机(或非随机的)影响的着结果的分布。 一个良好的测量分布, 异常值和噪声在噪声不同下一般有较容易理解的因素,而异常值通常是很少发生的,我们不能通过分布很好的理解。 对于处理这类事情R,Python和RPY的都是有用的工具。 为什么R非常适合数据科学 R语言 对有经验的统计分析师来说是非常轻量级. 它由科学家创造,对绝大多数的数据管理任务来说都非常轻松。特别适合以下几种数据管理任务: 标记数据 填充遗漏值(译者注:比如10行数据每行固定9列,但是第三行却只有5列数据,可以通过R的函数自动补全另外的5列值) 过滤 R语言对标记数据的支持非常友好. R语言的“data frame”概念,使得通过对数据列和数据行头来分割组合数据、标记数据,然后以纯数值的矩阵数据交给算法处理. 而传统的数据科学开发语言,如Python对数据的处理都需要开发者自己完成,需要消耗开发者 大量时间且容易出错. 处理或丢弃遗漏值、离群值(译者注:极值,如最大值、最小值)在数据中是非常基本但重要的任务. 某些情况下,本来是有利的数据,却因为测量误差等原因变成了不利、反对的数据。(译者注:比如越趋近于1才表示越可能是.)你如何处理这些事情可以对你的分析结果产生很大的影响。 R语言提供了丰富的算法来处理长期以来科学实践中出现的各种数据有关问题,虽然这些算法仍然需要自己去尝试和判断选择,以选择最恰当的数据处理算法. RPy2: 架起R语言与Python之间的桥梁 Pandas,Python的 数据分析 库,目前它已经有很多相同功能,但是RPy2创造了一条很好的从R语言到Python的迁移路线,它让你在学习Python的时候,把R语言作为一个附属部分来学习,对于很多有丰富实验开发经验的分析师会使用R语言,当他们想把算法融入一个Python应用程序,并分发给用户时,他们也可以使用RPy2。 执行这种迁移的能力,而不离开R语言的概念模型是很有价值的,但从另一个角度来说,这也是一个限制,能够使用一个真正的通用编程语言,如:Python,来包装概念模型,并使得这个用户友好的应用程序有多种复杂的附加功能(打印,网络,USB支持,等等)是至关重要的。 举例来说,我已经使用了这种方法来创建读取传感器数据的Python应用,通过RPy2处理,以各种方式显示给客户,我不知道怎么用R语言读取传感器数据,应该是有某种方法的。而Python已经做好了我需要的模块,即使没有也非常容易扩展。 如果你还不知道R语言,我推荐你学习Python并且使用RPy2来访问R语言的函数。你学习一种语言获得了两种能力。一旦你学习过RPy,再转到纯R语言也不是什么大问题,但是,你想要反过来就没那么容易了。 本文采用「CC BY-SA 4.0 CN」协议转载自互联网、仅供学习交流,内容版权归原作者所有,如涉作品、版权和其他问题请给「 我们 」留言处理。
数据分析
2016-03-09 23:25:00
摘要:上周六,总理在大会堂作政府工作报告,全球媒体瞩目。每年都会有媒体对报告中的高频词汇进行梳理,我们也可以尝试利用 Python 和分词jieba来自己分析一下。 我们首先来看国内部分媒体的梳理结果。据小编简单了解,已知对工作报告高频词汇进行梳理的媒体包括法制日报和新华网。 国内媒体梳理的高频词 下面是 法制日报公布的十大高频词 。 高频词 词频 1978年以来政府工作报告中的提及总数 发展 151 4828 经济 90 4449 改革 74 2758 建设 71 3274 社会 66 3402 推进 61 1096 创新 61 414 政策 52 1231 企业 加强 48 41 2304 2238 下面是 新华网数据新闻部统计的高频词汇 。 新华网的信息图其实有些含糊不清,有些词频不知道到底是2016年还是2015年的,但这里并不是我们关注的重点。 另外,新华网和法制日报得出的数据似乎有些出入,虽然并不大。那么,到底那家的数据是准确的呢? 接下来,我们就自己来计算一下报告中的高频词汇吧。 准备工作 我们需要从网上爬取政府报告的全文,这里小编选择 中国政府网发布的报告页面 。为此,我们需要安装requests和BeautifulSoup4这两个常用第三方库。 pip requests beautifulsoup 获取了报告文本之后,接下来需要对文本进行分词。我们选择号称“做最好的中文分词组件”的 jieba中文分词库 。 pip install jieba 这里提示一下,这三个库都支持Python 2和Python 3。但是在Python 2下,很容易就碰到编码问题,最后打印出的中文无法正常显示。因此,建议使用Python 3执行该脚本。 安装好依赖包之后,我们在脚本 analyze_report.py 的顶部导入它们。 import jieba import requests from bs4 import BeautifulSoup 文本提取 首先,我们从网上抓取政府工作报告的全文。我将这个步骤封装在一个名叫 extract_text 的简单函数中,接受url作为参数。因为目标页面中报告的文本在所有的p元素中,所以我们只需要通过BeautifulSoup选中全部的p元素即可,最后返回一个包含了报告正文的字符串,简单粗暴! def extract_text (url) : """Extract html content.""" page_source = requests.get(url).content bs_source = BeautifulSoup(page_source) report_text = bs_source.find_all( 'p' ) text = '' for p in report_text: text += p.get_text() text += '\n' return text 利用jieba分词,并计算词频 然后,我们就可以利用jieba进行分词了。这里,我们要选择全模式分词。jieba的全模式分词,即把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义。之所以这么做,是因为默认的精确模式下,返回的词频数据不准确。 分词时,还要注意去除标点符号,由于标点符号的长度都是1,所以我们添加一个len(word) >= 2的条件即可。 最后,我们就可以利用Counter类,将分词后的列表快速地转化为字典,其中的键值就是键的出现次数,也就是这个词在全文中出现的次数啦。 def word_frequency (text) : from collections import Counter words = [word for word in jieba.cut(text, cut_all= True ) if len(word) >= 2 ] c = Counter(words) for word_freq in c.most_common( 10 ): word, freq = word_freq print(word, freq) 执行脚本 两个函数都写好之后,我们就可以愉快地执行啦。 url_2016 = 'http://www.gov.cn/guowuyuan/2016-03/05/content_5049372.htm' text_2016 = extract_text(url_2016) word_frequency(text_2016) 最后的结果如下: 高频词 次数 发展 152 经济 90 改革 76 建设 71 社会 67 推进 62 创新 61 政策 54 企业 服务 48 44 ## 小结 从上面的结果可以看出,新华网发布的高频词统计数据与我们自己的分析最为接近。当然,新华网的里面少了一个高频词:推进。 如果有朋友想要验证结果的话,可以自己把报告全文复制到word里,然后查询下相关的高频词即可,比如下面这样: 本文为专栏文章,来自:编程派,内容观点不代表本站立场,如若转载请联系专栏作者,本文链接:https://www.afenxi.com/9684.html 。
数据分析
2016-03-07 22:47:00
  一年一度的传统七夕佳节正在到来,趁此良机办理终身大事的男男女女自然不在少数,但一如既往,无论线下还是网上,都要抓紧了。   支付宝温馨提醒大家, “市民中心”服务板块可以办理结婚登记、落户、购房等“结婚一条龙服务”,但需要尽快预约,不少地方的气息结婚登记已经爆满了。   比如浙江,七夕当日全天的登记预约都已经满了。   另外,支付宝产品经理还做了一个特别的七夕作死小彩蛋, 上支付宝搜索“答题红包”,可以自行设置问题和答案,对方答对了才能领红包。   想玩死对方或者玩死自己,就看你的了。
互联网
2020-08-25 06:51:00
摘要:用 Python 做 文本挖掘 的流程 收集数据 数据集 。如果是已经被人做成数据集了,这就省去了很多麻烦事 抓取。这个是 Python 做得最好的事情,优秀的包有很多,比如 scrapy , beautifulsoup 等等。 预处理(对 这里 的高质量讨论结果的修改,下面的顺序仅限 英文) 去掉抓来的数据中不需要的部分,比如 HTML TAG,只保留文本。结合 beautifulsoup 和正则表达式就可以了。 pattern.web 也有相关功能。 处理编码问题。没错,即使是英文也需要处理编码问题!由于 Python2 的历史原因,不得不在编程的时候自己处理。英文也存在 unicode 和 utf-8 转换的问题,中文以及其他语言就更不用提了。 这里 有一个讨论,可以参考,当然网上也有很多方案,找到一个适用于自己的最好。 将文档分割成句子。 将句子分割成词。专业的叫法是 tokenize。 拼写错误纠正。 pyenchant 可以帮你!(中文就没有这么些破事!) POS Tagging。nltk 是不二选择,还可以使用 pattern 。 去掉标点符号。使用正则表达式就可以。 去掉长度过小的单词。len<3 的是通常选择。 去掉 non-alpha 词。同样,可以用正则表达式完成 W 就可以。 转换成小写。 去掉停用词。Matthew L. Jockers 提供了一份比机器学习和自然语言处理中常用的停词表 更长的停词表 。 中文的停词表 可以参考这个。 lemmatization/stemming。nltk 里面提供了好多种方式,推荐用 wordnet 的方式,这样不会出现把词过分精简,导致词丢掉原型的结果,如果实在不行,也用 snowball 吧,别用 porter,porter 的结果我个人太难接受了,弄出结果之后都根本不知道是啥词了。 MBSP 也有相关功能。 重新去掉长度过小的词。是的,再来一遍。 重新去停词。上面这两部完全是为了更干净。 到这里拿到的基本上是非常干净的文本了。如果还有进一步需求,还可以根据 POS 的结果继续选择某一种或者几种词性的词。 Bag-of-Words ! nltk 和 scikit.learn 里面都有很完整的方案,自己选择合适的就好。这里 如果不喜欢没有次序的 unigram 模型 ,可以自行选择 bi-gram 和 tri-gram 以及更高的 n-gram 模型。nltk 和 sklearn里面都有相关的处理方法。 更高级的特征。 TF-IDF。这个 nltk 和 sklearn 里面也都有。 Hashing ! 训练模型 到这里,就根据自己的应用选择合适的学习器就好了。 分类,情感分析等。 sklearn 里面很多方法,pattern 里有 情感分析的模块 ,nltk 中也有一些分类器。 主题发现 NMF (Online) Latent Dirichlet Allocation word2vec 自动文摘。这个自己写吧,没发现什么成型的工具。 Draw results Matplotlib Tag cloud Graph 说明:在预处理部分仅仅针对英文的情况,由于中英文在分词上是不同的机制,所以在处理中文的时候需要根据情况进行,个人经验是在去停词之前分词。这部分有待完善。 中文分词。 jieba 或者 Stanford (Chinese) Word Segmenter 。jieba 是纯 Python 写的,Stanford 的可以通过 nltk 调用, 复旦 NLP 也可以用 Python 调用。 来源:知乎 作者:肖智博 链接:http://zhuanlan.zhihu.com/textmining-experience/19630762 本文采用「CC BY-SA 4.0 CN」协议转载自互联网、仅供学习交流,内容版权归原作者所有,如涉作品、版权和其他问题请给「 我们 」留言处理。
数据分析
2016-03-06 20:30:00
  1995 年的 8 月 24 日,微软正式推出了 Windows 95 系统,迄今为止正好 25 周年了,现在来看 Win95 界面早已落伍,但它可是微软操作系统史上的里程碑,口碑及销量都是双赢。   Win95 系统上有太多第一了,首次将 DOS 和 Windows 系统集合在一起,首次图形化界面 ,首个 32 位系统,首次集成 IE 浏览器, 首次带来了开始菜单、任务栏、文件管理器等,就连空当接龙都是首次。   为了推广 Win95 系统,微软也是下了血本了, 当年投入的营销费用高达 3 亿美元 ,绝对是天价。   此外,微软还花了 300 万美元找滚石乐队写了一首歌——Start me Up,成为 Win95 的主题曲。   最终的结果也是惊人的,Win95 一上市就引发了抢购潮,售价 210 美元的它第一周就卖出 100 万份拷贝,第一年内卖出了整整 4000 万份,要知道当年全球 PC 销量有不过 6000 万部。   Win95 的销量后来 Windows XP 打破,跟现在当然也不可能同日而语,但是 Win95 在微软操作系统史上的地位是无可置疑的。   对国人来说,1995 年还没多少人能用上电脑,当年但凡能用上 Win95 的要么家里比较有钱,要么就是工作性质,如今这些人也是社会中坚了,大家还能记得多少?
互联网
2020-08-25 06:50:00
  近日,据韩联社报道,三星电子公司周六证实,其两名工作于韩国京畿道华城晶圆厂生产线的员工新冠病毒(COVID-19)检测呈阳性。   据三星介绍,其中一名员工于上周五出现发烧和咳嗽等症状,在三星内部的诊所接受了新型冠状病毒测试后,显示检测结果呈阳性。该员工从 8 月 16 日至 19 日休假,仅周三和周四参与值班。而另一位员工在上周四发现症状,但直到周五才做了检测,检测结果同样呈阳性。   三星解释称,当局尚未确定两名雇员的确切传播途径。“这两名员工值班时配备各种安全设备,例如口罩,防尘服和防尘鞋。此外,半导体生产线内部的微尘过滤及通风系统也是最高水准。因此,病毒在内部传播的可能性很小。”   三星表示,员工感染不太可能影响其芯片制造业务。   但是,目前韩国新冠疫情却不容乐观。据韩国中央防疫对策部公布的数据显示,截至 8 月 23 日凌晨零时的 24 小时内,共新增 397 人确诊,创下韩国 3 月 7 日以来单日新高。   8 月 21-23 日单日新增病例连续 3 天在 300 例以上,截至 24 日凌晨零时,再度新增 266 例新冠肺炎确诊病例,累计 17665 例。虽然新增确诊人数有所下滑,其有分析称是因为周末检测人数减少,因此并不代表疫情降温。   从目前韩国累计确诊人数最多的前三个城市来看,分别是首尔、京畿道和仁川。   三星的 DRAM 产能主要集中在韩国京畿道的华城(Fab12、Fab13、Fab15、Fab16、Fab17)、平泽(P1、P2)两地,NAND Flash 产能也有约 75% 位于韩国本土(Fab12、Fab16、Fab17、P1、P2),另有 25% 的产能则位于西安(西安一期、二期)。   根据以上产线 2019 四季度的月均投片量预估,三星在本土的 DRAM 与 NAND Flash 总产能水平约为 675kwpm,占其总产能的比重达到了 83%。而这其中,三星华城工厂的 DRAM 和 NAND Flash 产能更是占据了大半。   根据 TrendForce 的数据显示,今年一季度三星在全球 DRAM 市场市场份额达 44.1%,在 NAND Flash 市场的份额也达到了 33.3%。   显然,如果三星华城工厂受到了疫情的影响导致停产,那么可能会对整个 DRAM 和 NAND Flash 市场带来很大的影响。   不过,正如三星所说,晶圆厂内部工作区都是需要佩戴口罩,穿防尘服和防尘鞋的,同时内部的微尘过滤及通风系统也是要求极高。   比如,12 吋的晶圆厂对于空气的洁净度要求会达到每立方米空气中含有 0.1 微米(千分一毫米)微粒数一般不能超过 100 粒,更大颗粒基本都会被通风系统过滤掉。而新冠病毒颗粒的直径大小则约为 0.125 微米。显然,在存储厂工作区内部的形成新冠病毒传播的可能性不大。   此外,目前晶圆厂内部的自动化生产程度已经非常的高,即便是三星的工厂爆发小规模的新冠疫情,也大概率不会对其存储芯片生产产生大的影响。   值得注意的是,虽然今年上半年以来,由于远程办公以及数据中心对于 DRAM 和 NAND Flash 需求的增长,刺激了 DRAM 和 NAND Flash 价格回暖。但是,对于接下来的存储市场,一些存储大厂并不看好。   比如,内存大厂美光日前就表示,需求前景恶化,下一财季(9 至 11 月))的营收很难达到预定目标。   另外,由于美国近期再度升级对于华为制裁,使得三星、SK 海力士等存储厂商的 DRAM 及 NAND Flash 芯片可能都无法继续向华为供应。   此外,随着长鑫存储的 DRAM 芯片以及长江存储的 128 层 3DNAND 芯片的量产和出货放量,以及国内的国产替代风潮的影响,这些都进一步加剧了整个市场消化存储芯片厂商的库存及产能的压力。   TrendForce 也预测,第三季度 DRAM 价格恐反转向下,出现量平、价跌走势,原厂获利恐面临压力;   同时,NAND Flash 第三季度供过于求比例为 2.6%,加上先前受疫情影响所累积的库存量递延至今,造成价格开始走跌,第四季供过于求比例将进一步扩大,后续价格走势将更严峻。
互联网
2020-08-25 06:49:00
摘要:当你在一个城市,穿越大街小巷,跑步跑了几千公里之后,一个显而易见的想法是,如果能把在这个城市的所有路线全部画出来,会是怎样的景象呢? 文章代码比较多,为了不吊人胃口,先看看最终效果,上到北七家,下到南三环,西到大望路,东到首都机场。二环32公里,三环50公里,这是极限,四环先暂时不考虑了。。。。 1.数据来源:益动GPS 首先需要原始位置信息,手机上有众多跑步软件,但它们共同的问题是不允许自由导入导出(可能是为了防止用户脱离吧)。因此有一块智能运动手表应该是不二之选。我的是Garmin Fenix3,推荐一下: 与此同时,益动GPS算是业界良心了,能够同步咕咚,Garmin手表,悦跑圈的数据,因此我将其作为一个入口,抓取所有的GPS数据。 至于如何同步,可参考网站上的相关介绍,下面是我登录该网站后的截图: http://edooon.com/user/5699607196/record/15414378 随便点进去以后,就可以看到导出路线的按钮: 无比坑爹的是,它不提供批量导出的按钮,几百条记录,依次导出都累死了。于是考虑用代码来自动化吧。 2. 获取益动网站上的数据 登录之后,可以看出它是动态加载,当滚轮滚到最下时,自动加载后面的内容。本来是应该嗅探和分析http请求的。后来我懒惰了,采取折中方案,拖到底,全部加载完毕后,保存了当前的html文件。 接下来就是解析这个Html,基本上是通过XPath的来做的。有经验的同学看了下图就都明白了: 图中高亮的部分,就是要下载gpx文件的实际地址。我们将其保存在urllist中。同时,元数据被保存在json文件里。 folder = u'D:/buptzym的同步盘/百度云/我的文档/数据分析/datasets/rungps/';cookie='JSESSIONID=69DF607B71B1F14AFEC090F520B14B55; logincookie=5699607196$6098898D08E533587E82B33DD9D02196; persistent_cookie=5699607196$42C885AD38F59DCA407E09C95BE1A60B; uname_forloginform="buptzym@qq.com"; __utma=54733311.82935663.1447906150.1447937410.1456907433.7; __utmb=54733311.5.10.1456907433; __utmc=54733311; __utmz=54733311.1456907433.7.3.utmcsr=baidu|utmccn=(organic)|utmcmd=organic; cookie_site=auto'userid='5699607196';f = codecs.open(folder + 'desert.htm', 'r', 'utf-8');html = f.read();f.close();root = etree.HTML(html)tree = etree.ElementTree(root);listnode=tree.xpath('//*[@id="feedList"]');numre=re.compile(u'骑行|跑步|公里|,|耗时|消耗|大卡');urllists=[]records=[];for child in listnode[0].iterchildren(): record={}; temp=child.xpath('div[2]/div[1]/a[2]') if len(temp)==0: continue; source= temp[0].attrib['href']; record['id']=source.split('/')[-1]; info=temp[0].text; numinfo= numre.split(info); if len(numinfo)<6: continue; record['type']= info[0:2]; record['distance']= numinfo[1]; record['hot']=numinfo[6]; urllists.append('http://edooon.com/user/%s/record/exporttype=gpx&id=%s' % (userid, record['id'])); 值得注意的是,因为下载时需要cookie,因此读者需要将自己在益动GPS的userid和登录的cookie都替换掉(这种网站不值得为它开发自动登录)。 接下来就是下载的过程,获取导出数据按钮的URL的XPath,构造一个带cookie的请求,然后保存文件即可,非常容易。 opener = urllib.request.build_opener()opener.addheaders.append(('Cookie', cookie));path='//*[@id="exportList"]/li[1]/a';for everyURL in urllists: id = everyURL.split('=')[-1]; print(id); url='http://edooon.com/user/%s/record/%s' % (userid, id); f = opener.open(url); html = f.read(); f.close(); root = etree.HTML(html) tree = etree.ElementTree(root); fs = str(tree.xpath(path)[0]); if fs is None: continue; furl = 'http://edooon.com/user/%s/record/%s' % (userid, fs); f = opener.open(furl); html = f.read(); f.close(); filename=folder+'id'+'.gpx'; xmlfile = codecs.open(filename, 'wb'); xmlfile.write(html); xmlfile.close(); 之后,我们便保存了大约300多个gpx文件。 3. 解析gpx数据 所谓gpx数据,是一种通用规范的GPS数据格式,详细的资料可自行搜索。 我们需要使用python的gpx解析器, gpxpy是个好选择,使用 pip3 install gpxpy 即可安装。 gpxpy提供了丰富的接口,当然为了统计,我们只需要提取一部分数据: def readgpx(x): file= open(dir+x+'.gpx','r') txt=file.read() gpx=gpxpy.parse(txt) mv=gpx.get_moving_data() dat= {'移动时间':mv.moving_time,'静止时间':mv.stopped_time,'移动距离':mv.moving_distance,'暂停距离':mv.stopped_distance,'最大速度':mv.max_speed}; dat['总时间']=(gpx.get_duration()) dat['id']=str(x) updown=gpx.get_uphill_downhill() dat['上山']=(updown.uphill); dat['下山']=(updown.downhill) timebound=gpx.get_time_bounds(); dat['开始时间']=(timebound.start_time) dat['结束时间']=(timebound.end_time) p=gpx.get_points_data()[0] dat['lat']=p.point.latitude dat['lng']=p.point.longitude file.close() return dat readgpx函数会读取文件名x,并将一个字典返回。并得到类似下面的一张表: 因为我们只需要绘制北京的区域,因此需要一个坐标表达式筛掉北京之外的地区。筛选代码使用了pandas,在附件里有更详细的代码。 exceptids=详细[(详细.lng<116.1)|(详细.lng>116.7)|(详细.lat<39.9)|(详细.lat>40.1)].id def filtercity(r): sp=r.split('/')[-1].split('.') if sp[1]!='gpx': return False; if sp[0] in exceptids.values: return False; return True; bjids= [r for r in gpxs if filtercity(r)] 这样,我们就将所有在北京完成的运动数据筛选了出来。 4.绘制GPS数据 反复造轮子是不好玩的,绘制gpx已经有比较强大的库,地址在 http://avtanski.net/projects/gps/ 很不幸,这个库使用Perl作为开发语言,并使用了GD作为视觉渲染库。我花费了大量的时间,在安装GD上面。 Ubuntu默认安装Perl, GD是需要libgd的,libgd却在官网上极难下载,下载后却又发现版本不对,这让我在国外互联网上遨游了好几个小时,都要死掉了。。。到最后,我才发现,安装libgd库只要下面这一步就可以了: apt-get install libgd-gd2-perl 我觉得这就是apt-get方式坑爹的地方,apt get gd 或者libgd根本找不到,如果不去查,谁知道这么写啊! 至于Perl的CPan管理工具,哎,不说了都是泪。 接下来下载gd 2.56,解压之后, perl ./Makefile.PL make make install 即可 这份gpx绘制库是这么介绍自己的: This folder contains several Perl scripts for processing and plottin GPS track data in .GPX format. 当然我们不废话,把所有的gpx数据拷贝到sample_gpx文件夹下,然后华丽丽的运行 ./runme.sh 如果没有问题的话,应该是下面这样: 我假设各位读者对bash都已经很熟悉了,更多的需求可以查看runme.sh。 最后得到的结果如下图: 当时看到这个结果,我都惊呆了!这是自己跑了2000公里左右的结果,北京三环内(主要集中在长安街以北)主要的道路都跑遍了,朝阳公园,天坛公园,尤其北三环和北土城路(10号线北段)被我各种虐。每一段白线都是一段故事,每一个点都是我的一个脚印啊! 5.总结 这文章写得显然不够详细,远远没有hand by hand。而且并没有提供更多的 数据分析 (显然这些工作我都做了)不过相信跑步的程序员一定都很厉害,我这就权作抛砖引玉了。 其实完全可以做成一个web服务,跑友们上传自己的跑步软件的id,就可以自动渲染出各种漂亮的跑步路径和分析图,应该会很有意义吧! 这件事情花费了我七八个小时,简直吐血,大量的时间用在了如何安装GD上,而不是下载数据上。教训告诉我,一定要读安装包里自带的说明文档,因为库和库之间的版本不同,因此可能造成版本地狱,到时候新版本卸载不了,老版本没法用的时候可别说我没提醒啊! 值得一提的是,益动gps下载的gpx文件不带换行符,这导致gpx_disualization库无法解析它(这货正则表达式写错了),我懒得再去动perl正则,于是通过替换增加了换行符。 GD还需要libpng等一众perl库,在附件里都有提供下载。 附件 是GD库和爬取所有gpx数据的python3代码。 本文采用「CC BY-SA 4.0 CN」协议转载自互联网、仅供学习交流,内容版权归原作者所有,如涉作品、版权和其他问题请给「 我们 」留言处理。
数据分析
2016-03-06 19:30:00
专栏

数据资讯

数据学院

数据百科