① excel如何让所有数据四舍五入保留小数点后三位
使用单元格格式中的数值,小数改为3为0.000的话,只是显示上是保留了3位小数,并非真正3位小数的数值,也就是说,遇到进位的问题就不准了,最好使用ROUND函数。
写法:=round(A1,3);A1可以换成任意单元格,3表示保留3位小数,遇到进位自动四舍五入。
例1:=round(1.123,2)结果为1.12;
例2:假设A1=1.123, B1输入公式=round(A1,2) 结果为1.12
例3:=round(1/3,2) 结果为0.33...第一参数为所要计算的值(可以是常数,单元格引用,公式),第二个参数为舍入的小数位数。
(1)怎么可以让数据简化扩展阅读:
默认情况下,Excel 使用 A1 引用样式,此样式引用字母标识列(从 A 到 IV,共 256 列,备注:版本不同最大列数也不同),引用数字标识行(从 1 到 65,536)。这些字母和数字称为行号和列标。若要引用某个单元格,请输入列标和行号。例如,B2 引用列 B 和行 2 交叉处的单元格。
也可以使用同时统计工作表上行和列的引用样式。R1C1 引用样式对于计算位于宏内的行和列很有用。在 R1C1 样式中,Excel 指出了行号在 R 后而列号在 C 后的单元格的位置。例如,R2C3 相当于A1引用样式的C2,即引用行 2 和列 3(即C) 交叉处的单元格。
② 将大数据转化为大价值的10种途径
将大数据转化为大价值的10种途径
大数据可以产生很多价值,但前提是只有当您企业真正知道如何充分利用这些大数据的时候。
当前,大数据显然已经登上了历史舞台——在全球范围内,拥有超过半数的企业组织都已经将大数据项目视为其未来发展的机遇,并计划在未来几年内进一步的增加对大数据项目的投资。
但是,大数据的价值并不仅仅只是来自对于相关数据信息的收集而已,这仅仅只是起点。大数据的真正价值来自于您所在的企业组织利用所存储的信息以发现新的洞察分析见解的能力,然后从中提取出有用的价值,以推动企业做出更好的业务决策,促进企业业务的发展。
现如今,现代化的商务智能解决方案可以通过用户友好的解决方案来降低企业进入的大数据项目的壁垒,并进一步的提升大数据的价值。这允许企业组织内的更多的相关人员(不仅仅只有数据科学家)能够就您企业所收集的数据进行访问、分析和协作。
您企业的团队如何获取大数据的驱动价值?
大数据能够为您的公司提供更为详细的洞察分析,来洞察企业的各个方面的关键要素,以推动更好、更自信、且数据驱动的商业决策。
其培养一种积极开拓探索的企业文化,鼓励企业员工们通过数据分析来试验和验证他们的想法。
通过让每名相关的工作人员都能访问到这些大数据信息,推动您企业业务的下一此大的创意性变革的理念可以来自企业的任何一名员工——而不仅仅只是数据科学家。
究竟什么是大数据?
大数据是数据量相当庞大或结构相当复杂,以至于一般性的企业组织机构难以使用标准的数据库和软件工具对其进行管理。但由于每家公司都有不同的能力和要求,故而“大数据”其实可以说是一个相对较为主观性的术语——对某一家企业组织来说的“大”数据,对另一家企业组织而言可能仅仅只是“平均”性的数据。
想要从您企业的大数据投资项目中获得更多价值吗?
如下,我们将为您介绍10种有助于您所在的企业更好的从大数据分析项目中获取价值的方法:
选择正确的访问大数据的方法。
获得更好的洞察分析的能力与企业所收集到的数据信息有关。
让整个企业组织都能够访问到大数据。
让相关用户能够很容易的找到他们所需要的数据信息。
推动企业内各部门间的协同合作,以推动创新。
打造一个灵活敏捷的分析环境,以便满足每位用户的需求。
确保企业所采用的分析解决方案能够方便的让相关员工在任何地方采用任何设备均能够轻松访问。
部署可扩展的解决方案,确保其能够随着企业组织的业务需求的不断变化而变化。
确保您企业的商务智能解决方案可以很容易地适应未来的技术。
选择具有广泛合作伙伴生态系统的BI解决方案。
一、选择正确的访问大数据的方法
当涉及到如何访问和分析所有的数据信息时,没有一套一成不变的方法——毕竟,每家不同的企业组织都会有着不同的需求、不同的用例和不同的基础设施配置。
您企业所选择的方法或方法的组合将取决于所需要满足的特定用户的实际需求,并权衡您所愿意接受的各种折衷。
当企业组织在选择大数据的访问方法时,所需要考虑的相关问题:
您企业需要支持多少数据?数以百万计的?抑或是数十亿的?
相关非技术用户是否需要访问您企业的数据,或者仅仅只有IT和数据专家们访问这些数据呢?您企业将只在整个数据集上运行数据分析吗?或者您企业还希望能够分析可选择的相关数据呢?
您企业是否需要为终端用户提供流畅、高交互性的体验?灵活性或用户性能对您企业的业务来说是最为重要的吗?
二、企业获取洞察分析的能力更多的关乎到企业对相关数据是如何收集的
以前,您企业的大数据项目所面临的最大的挑战可能是从广泛的数据源中识别和收集您企业业务真正所需要的数据信息。
而到了今天,这部分比以往更容易。现在,真正重要的是您企业是否可以收集并整合所有这些数据信息——无论这些大数据具体是来自何处也不管其格式究竟如何,并最终发现所有相关数据信息中的所有可能的联系。
为了获得对于大数据的更为全面的掌握,企业组织亟待采用具有关联模型的BI解决方案,以便您企业可以浏览所有数据中的所有关联。这样,您企业的用户将始终可以访问您企业业务的完整视图,以便他们可以做出更好、更明智的决策。
与传统的数据模型不同(传统的数据模型会限制您所能够看到的数据,这些数据如何连接以及您所能够执行的查询),关联模型则可以识别您企业的所有数据之间的所有关系。这使得每位用户 ——不仅仅是数据科学家——均可以快速轻松地探索他们所需要的合适的数据,并使用交互式的选择和关键字搜索来发现意想不到的关键和洞察见解。
三、让整个企业组织均可以访问大数据
当大数据这一理念刚刚兴起的时候,仅仅只有极少数的人意识到其所蕴含的巨大潜力——这些人主要是数据科学家和分析师。非专业人士根本不具备以有意义的方式探索和使用数据所需的知识、工具或经验。
而今,这种状况已经一去不复返了。现在,您企业必须将大数据置于业务部门的用户手中。毕竟,只有那些与您企业的业务最接近的员工们才真正的知道要提出哪些有价值的问题;以及由数据所驱动的哪些分析见解将对企业的业务产生最大的影响。
正确的自助式商务智能解决方案可以在这方面为企业客户提供有力的帮助,其能够让业务部门的用户顺利访问到他们所需的数据,同时让数据治理和管理的权限掌握在您企业的IT团队手中。借助自助式服务商务智能解决方案,业务部门的用户可以使用交互式的可视化仪表板来自由的探索数据,并在不依赖IT部门的情况下找到问题的答案,改进业务流程,并推动整个企业组织内的创新。
推动企业朝着自助式分析方向转变的因素:
在最近的一份报告中,Forbes Insights调查了449位资深的IT和商业专业人士,了解了他们为什么决定转向采用自助服务模式:
62%的受访者希望对于数据获得更多的开放式访问。
76%的受访者希望获得更为及时的数据分析。
71%的受访者希望获得质量更高的数据和分析。
四、让用户可以轻松找到其所需的大数据信息
越来越多的企业业务管理者希望通过确凿的证据来支持他们的业务决策过程。但不幸的是,这些用户往往缺乏经验,因为他们需要在一个庞大的,不断增长的数据存储库中找到他们所需要的答案。
为了帮助业务部门的用户们找到这些答案,并从大数据中获得更多的投资回报,您企业需要让他们难过轻松的探索大数据。
您企业可以通过提供BI解决方案来实现这一点:
允许业务部门的用户直观地访问到所需的数据,而不需要依靠IT来运行查询和生成报告。
并提供自然语言搜索功能,便于查找他们所需的信息。
发现不同来源的数据之间的连接和关系——甚至是以意外的方式发现不相关的数据。
用清晰简洁的方式实现数据的可视化和形象化。
何为自然语言搜索,其如何为企业提供帮助?
借助自然语言搜索,用户可以使用常规口语进行查询。这对于缺乏数据专业知识,并且可能并不知道在数据库中如何查找精确信息所需的技术术语的用户极其有用。包含此功能的BI解决方案使更多的用户(而不仅仅是数据科学家)能够从企业的大数据中获得洞察分析能力。
五、促进企业部门间的协作,以推动创新
一项伟大的发现如果不能共享,又有什么益处呢?如果您企业内部的相关人员不能与更广泛的同事们分享他们的见解,那么您企业无疑错过了最佳的推动部门间合作的机会,也不利于这些好的最初的想法理念进一步的扩展,并使其更好。更糟糕的是,如果其他的同事没有听说过您的发现,他们最终可能会重复类似的数据探索,进而导致企业生产力的下降。
但仅仅分享数据是不够的,您企业必须以正确的方式分享数据。
考虑采用一款“企业就绪”的商业智能解决方案——其既能够提供自助分析的自由度(允许每位用户在他们认为合适的时候探索和共享数据),同时还能够为企业提供全面的治理能力(控制谁有权限访问哪些数据信息,所以每位员工都能够基于单一的事实来源开展工作)。
通过在自助服务和大数据管理之间取得平衡,您企业可以充分利用整个企业组织的集体智慧,结合多个团队和个人的专业知识来传播新的想法和理念,促进讨论,并推动创新。
确保企业的BI解决方案得到妥善管理:
有效的数据治理可确保在整个企业组织内正确控制和管理对分析功能和对于大数据的访问。
如果缺乏适当的大数据治理水平,就会出现错误、变化和冗余,进而导致用户难以验证数据中的真实情况,从而导致延迟和中断。
正确的大数据治理可以帮助您企业避免发生上述的不一致,并确保每位员工都能够从相同的可信数据中获得他们所需的洞察分析。
六、打造灵活敏捷的分析环境,以切实满足每位用户的需求
保持与大数据所提供的大量新信息的同步是一个不小的挑战。大数据的猛烈冲击可能会使商业用户难以真正深入的挖掘,探索并及时获得他们所需的答案。
为了保持活力,您企业应该考虑创建灵活敏捷分析环境,您的IT团队可以快速并逐步构建BI解决方案,以应对业务用户不断变化的需求。
例如,随着用户对数据更加熟悉,您企业可能需要从指导分析发展到自助服务BI。
这使他们能够自行探索更多的大数据,并更快速地深入细节。使用灵活的框架,您企业可以轻松的满足这些用户的需求,而无需花费大量成本或开发时间。
七、确保用户能够在任何设备上随时随地访问分析解决方案
随着手机、平板电脑和笔记本电脑的计算能力的不断增强,企业员工们越来越多地在办公室之外进行业务的处理。
无论是在火车上,在机场候机厅还是在客户会议上,现在的企业业务团队都希望能够在任何业务需要的时候访问他们的工作资料。
为了满足这些需求,您企业需要能够以各种形式向客户和用户提供分析解决方案——确保他们无论何时何地,对于所需全部功能都能够得到满足的期望。
除了通过基于云服务或在线门户提供对分析解决方案的直接访问之外,确保用户能够在任何地方均能够实现顺利访问的另一种方式是在企业的嵌入式分析应用程序中使用开放式API。通过在用户的日常工作环境中提供强大的分析功能,您可以确保每位业务用户都可以在他们需要时随时访问所需的信息。
自助服务商业智能为大众带来了分析的力量,但对于一些用户来说,获得额外的应用程序则可能是一大真正的挑战。 这就是为什么有些产品和组织直接将分析嵌入到用户每天所使用的熟悉的环境或应用程序中的原因所在了。
八、部署实施可随企业业务需求不断变化的可扩展的解决方案
通常情况下,企业所收集的大数据的量只会越来越大。但无论数据存储库怎么扩展,您的用户都希望获得顺畅的访问体验,而不必等待很长时间或经历中断。随着数据集的不断增长,大多数工具都难以跟上这一需求。
为了确保用户能够以他们想要的方式继续探索数据,请采用可随需扩展的BI平台,即使数据量增加并且应用程序变得更加复杂,也可以提供出色的性能。该平台应该采用多种工具和方法,以便您企业可以保持为最终用户提供交互式的动态体验,而不管您企业产生了多少数据。
此外,寻找一款使用内存处理执行即时计算的商业智能解决方案。
这些解决方案可以以“思考速度”处理和回答问题,使用户可以不断的保持继续的挖掘和探索。这反过来可以在整个企业组织内推动勇于开拓创新和探索的企业文化。
何为内存中的处理,其能够为企业组织带来什么样帮助:
内存数据库 (in-memory database) 是一种数据处理技术,其在随机存取存储器(RAM)中暂时存储和计算信息,而无需在每次用户进行新的选择或计算时都从磁盘存储中提取数据。数据可以在RAM中更快速地读取和分析,从而使得较之采用更传统的方法,报告(和决策制定)更快。
九、确保您企业的BI解决方案可以轻松适应未来的技术
管理和探索大数据的技术正在迅速改变,以便为当下的企业客户提供更好,更快的解决方案,进而从大数据中获取洞察分析。但是将最新技术整合到现有的分析平台中可能具有挑战性,有时甚至是不可能的。故而企业应该确保您所采用的分析解决方案能够快速,轻松地与新技术实现集成。
例如,开放的API可以为您企业的现有解决方案带来新的功能,就像添加几行代码一样简单。拥有专注于定制开发的在线社区也很重要。由此,开发人员们可以通过与其他人员轻松协作来确保您的产品或解决方案能够与最新的技术进步保持同步。
什么是开放式API?
一款开放的API是一个公开的接口,开发人员可以使用它将第三方解决方案集成到他们自己的解决方案中。实质上,开放式API能够控制两款不同的应用程序如何轻松地进行通信,并相互交互。提供开放式API的BI解决方案使企业能够轻松插入多种解决方案,执行独立解决方案所无法实现的特定功能。
十、选择具有广泛合作伙伴生态系统的商务智能解决方案
当涉及到大数据项目时,有时候企业需要一点额外的帮助才能看到整体的状况。在选择商业智能解决方案时,企业务必需要寻找能够与大量多种技术维持合作关系的供应商。
这将有助于简化数据交互,确保您企业的所有BI解决方案能够高效地工作。此外,拥有足够的合作伙伴可以随时为您企业的业务需求提供最合适的解决方案——无论现在还是未来。
您企业应选择哪些类型的技术合作伙伴?
数据存储和管理解决方案提供商可存储和查询您企业的数据,并提供运行分析解决方案所需的基础架构。
数据整理(Data wrangling)解决方案提供商将原始数据精炼,并重塑为可用数据集。
机器学习解决方案提供商通过使用从数据迭代学习的算法来自动化分析模型构建。
大数据,大潜力
大数据有可能改变您企业的业务,但为了能够真正从贵公司的大数据项目中获得真正的价值,您企业需要知道如何充分利用大数据。
恰当的商业智能解决方案可以帮助您企业最大化您的大数据投资回报,其方法是:
提供完整的业务视图和影响企业业务的外部因素。
在您的业务的每个领域推动更好的以数据为导向的决策。
让更多的业务用户能够随时随地访问和探索大数据。
在整个企业组织中培养协作、积极开拓探索和创新的企业文化。
随着业务的增长而实现规模化的扩展,以满足未来的需求。
③ 介绍一下海量数据的处理方法
介绍一下海量数据的处理方法
适用范围:可以用来实现数据字典,进行数据的判重,或者集合求交集
基本原理及要点:
对于原理来说很简单,位数组+k个独立hash函数。将hash函数对应的值的位数组置1,查找时如果发现所有hash函数对应位都是1说明存在,很明显这个过程并不保证查找的结果是100%正确的。同时也不支持删除一个已经插入的关键字,因为该关键字对应的位会牵动到其他的关键字。所以一个简单的改进就是 counting Bloom filter,用一个counter数组代替位数组,就可以支持删除了。
还有一个比较重要的问题,如 何根据输入元素个数n,确定位数组m的大小及hash函数个数。当hash函数个数k=(ln2)*(m/n)时错误率最小。在错误率不大于E的情况 下,m至少要等于n*lg(1/E)才能表示任意n个元素的集合。但m还应该更大些,因为还要保证bit数组里至少一半为0,则m应 该>=nlg(1/E)*lge 大概就是nlg(1/E)1.44倍(lg表示以2为底的对数)。
举个例子我们假设错误率为0.01,则此时m应大概是n的13倍。这样k大概是8个。
注意这里m与n的单位不同,m是bit为单位,而n则是以元素个数为单位(准确的说是不同元素的个数)。通常单个元素的长度都是有很多bit的。所以使用bloom filter内存上通常都是节省的。
扩展:
Bloom filter将集合中的元素映射到位数组中,用k(k为哈希函数个数)个映射位是否全1表示元素在不在这个集合中。Counting bloom filter(CBF)将位数组中的每一位扩展为一个counter,从而支持了元素的删除操作。Spectral Bloom Filter(SBF)将其与集合元素的出现次数关联。SBF采用counter中的最小值来近似表示元素的出现频率。
问题实例:给你A,B两个文件,各存放50亿条URL,每条URL占用64字节,内存限制是4G,让你找出A,B文件共同的URL。如果是三个乃至n个文件呢?
根据这个问题我们来计算下内存的占用,4G=2^32大概是40亿*8大概是340亿,n=50亿,如果按出错率0.01算需要的大概是650亿个bit。 现在可用的是340亿,相差并不多,这样可能会使出错率上升些。另外如果这些urlip是一一对应的,就可以转换成ip,则大大简单了。
2.Hashing
适用范围:快速查找,删除的基本数据结构,通常需要总数据量可以放入内存
基本原理及要点:
hash函数选择,针对字符串,整数,排列,具体相应的hash方法。
碰撞处理,一种是open hashing,也称为拉链法;另一种就是closed hashing,也称开地址法,opened addressing。
扩展:
d-left hashing中的d是多个的意思,我们先简化这个问题,看一看2-left hashing。2-left hashing指的是将一个哈希表分成长度相等的两半,分别叫做T1和T2,给T1和T2分别配备一个哈希函数,h1和h2。在存储一个新的key时,同时用两个哈希函数进行计算,得出两个地址h1[key]和h2[key]。这时需要检查T1中的h1[key]位置和T2中的h2[key]位置,哪一个位置已经存储的(有碰撞的)key比较多,然后将新key存储在负载少的位置。如果两边一样多,比如两个位置都为空或者都存储了一个key,就把新key 存储在左边的T1子表中,2-left也由此而来。在查找一个key时,必须进行两次hash,同时查找两个位置。
问题实例:1).海量日志数据,提取出某日访问网络次数最多的那个IP。
IP的数目还是有限的,最多2^32个,所以可以考虑使用hash将ip直接存入内存,然后进行统计。
3.bit-map
适用范围:可进行数据的快速查找,判重,删除,一般来说数据范围是int的10倍以下
基本原理及要点:使用bit数组来表示某些元素是否存在,比如8位电话号码
扩展:bloom filter可以看做是对bit-map的扩展
问题实例:
1)已知某个文件内包含一些电话号码,每个号码为8位数字,统计不同号码的个数。
8位最多99 999 999,大概需要99m个bit,大概10几m字节的内存即可。
2)2.5亿个整数中找出不重复的整数的个数,内存空间不足以容纳这2.5亿个整数。
将bit-map扩展一下,用2bit表示一个数即可,0表示未出现,1表示出现一次,2表示出现2次及以上。或者我们不用2bit来进行表示,我们用两个bit-map即可模拟实现这个2bit-map。
4.堆
适用范围:海量数据前n大,并且n比较小,堆可以放入内存
基本原理及要点:最大堆求前n小,最小堆求前n大。方法,比如求前n小,我们比较当前元素与最大堆里的最大元素,如果它小于最大元素,则应该替换那个最大元 素。这样最后得到的n个元素就是最小的n个。适合大数据量,求前n小,n的大小比较小的情况,这样可以扫描一遍即可得到所有的前n元素,效率很高。
扩展:双堆,一个最大堆与一个最小堆结合,可以用来维护中位数。
问题实例:
1)100w个数中找最大的前100个数。
用一个100个元素大小的最小堆即可。
5.双层桶划分
适用范围:第k大,中位数,不重复或重复的数字
基本原理及要点:因为元素范围很大,不能利用直接寻址表,所以通过多次划分,逐步确定范围,然后最后在一个可以接受的范围内进行。可以通过多次缩小,双层只是一个例子。
扩展:
问题实例:
1).2.5亿个整数中找出不重复的整数的个数,内存空间不足以容纳这2.5亿个整数。
有点像鸽巢原理,整数个数为2^32,也就是,我们可以将这2^32个数,划分为2^8个区域(比如用单个文件代表一个区域),然后将数据分离到不同的区域,然后不同的区域在利用bitmap就可以直接解决了。也就是说只要有足够的磁盘空间,就可以很方便的解决。
2).5亿个int找它们的中位数。
这个例子比上面那个更明显。首先我们将int划分为2^16个区域,然后读取数据统计落到各个区域里的数的个数,之后我们根据统计结果就可以判断中位数落到那个区域,同时知道这个区域中的第几大数刚好是中位数。然后第二次扫描我们只统计落在这个区域中的那些数就可以了。
实际上,如果不是int是int64,我们可以经过3次这样的划分即可降低到可以接受的程度。即可以先将int64分成2^24个区域,然后确定区域的第几 大数,在将该区域分成2^20个子区域,然后确定是子区域的第几大数,然后子区域里的数的个数只有2^20,就可以直接利用direct addr table进行统计了。
6.数据库索引
适用范围:大数据量的增删改查
基本原理及要点:利用数据的设计实现方法,对海量数据的增删改查进行处理。
扩展:
问题实例:
7.倒排索引(Inverted index)
适用范围:搜索引擎,关键字查询
基本原理及要点:为何叫倒排索引?一种索引方法,被用来存储在全文搜索下某个单词在一个文档或者一组文档中的存储位置的映射。
以英文为例,下面是要被索引的文本:
T0 = “it is what it is”
T1 = “what is it”
T2 = “it is a banana”
我们就能得到下面的反向文件索引:
“a”: {2}
“banana”: {2}
“is”: {0, 1, 2}
“it”: {0, 1, 2}
“what”: {0, 1}
检索的条件”what”, “is” 和 “it” 将对应集合的交集。
正 向索引开发出来用来存储每个文档的单词的列表。正向索引的查询往往满足每个文档有序频繁的全文查询和每个单词在校验文档中的验证这样的查询。在正向索引中,文档占据了中心的位置,每个文档指向了一个它所包含的索引项的序列。也就是说文档指向了它包含的那些单词,而反向索引则是单词指向了包含它的文档,很 容易看到这个反向的关系。
扩展:
问题实例:文档检索系统,查询那些文件包含了某单词,比如常见的学术论文的关键字搜索。
8.外排序
适用范围:大数据的排序,去重
基本原理及要点:外排序的归并方法,置换选择 败者树原理,最优归并树
扩展:
问题实例:
1).有一个1G大小的一个文件,里面每一行是一个词,词的大小不超过16个字节,内存限制大小是1M。返回频数最高的100个词。
这个数据具有很明显的特点,词的大小为16个字节,但是内存只有1m做hash有些不够,所以可以用来排序。内存可以当输入缓冲区使用。
9.trie树
适用范围:数据量大,重复多,但是数据种类小可以放入内存
基本原理及要点:实现方式,节点孩子的表示方式
扩展:压缩实现。
问题实例:
1).有10个文件,每个文件1G, 每个文件的每一行都存放的是用户的query,每个文件的query都可能重复。要你按照query的频度排序 。
2).1000万字符串,其中有些是相同的(重复),需要把重复的全部去掉,保留没有重复的字符串。请问怎么设计和实现?
3).寻找热门查询:查询串的重复度比较高,虽然总数是1千万,但如果除去重复后,不超过3百万个,每个不超过255字节。
10.分布式处理 maprece
适用范围:数据量大,但是数据种类小可以放入内存
基本原理及要点:将数据交给不同的机器去处理,数据划分,结果归约。
扩展:
问题实例:
1).The canonical example application of MapRece is a process to count the appearances of
each different word in a set of documents:
void map(String name, String document):
// name: document name
// document: document contents
for each word w in document:
EmitIntermediate(w, 1);
void rece(String word, Iterator partialCounts):
// key: a word
// values: a list of aggregated partial counts
int result = 0;
for each v in partialCounts:
result += ParseInt(v);
Emit(result);
Here, each document is split in words, and each word is counted initially with a “1″ value by
the Map function, using the word as the result key. The framework puts together all the pairs
with the same key and feeds them to the same call to Rece, thus this function just needs to
sum all of its input values to find the total appearances of that word.
2).海量数据分布在100台电脑中,想个办法高效统计出这批数据的TOP10。
3).一共有N个机器,每个机器上有N个数。每个机器最多存O(N)个数并对它们操作。如何找到N^2个数的中数(median)?
经典问题分析
上千万or亿数据(有重复),统计其中出现次数最多的前N个数据,分两种情况:可一次读入内存,不可一次读入。
可用思路:trie树+堆,数据库索引,划分子集分别统计,hash,分布式计算,近似统计,外排序
所 谓的是否能一次读入内存,实际上应该指去除重复后的数据量。如果去重后数据可以放入内存,我们可以为数据建立字典,比如通过 map,hashmap,trie,然后直接进行统计即可。当然在更新每条数据的出现次数的时候,我们可以利用一个堆来维护出现次数最多的前N个数据,当 然这样导致维护次数增加,不如完全统计后在求前N大效率高。
如果数据无法放入内存。一方面我们可以考虑上面的字典方法能否被改进以适应这种情形,可以做的改变就是将字典存放到硬盘上,而不是内存,这可以参考数据库的存储方法。
当然还有更好的方法,就是可以采用分布式计算,基本上就是map-rece过程,首先可以根据数据值或者把数据hash(md5)后的值,将数据按照范围划分到不同的机子,最好可以让数据划分后可以一次读入内存,这样不同的机子负责处理各种的数值范围,实际上就是map。得到结果后,各个机子只需拿出各 自的出现次数最多的前N个数据,然后汇总,选出所有的数据中出现次数最多的前N个数据,这实际上就是rece过程。
实际上可能想直接将数据均分到不同的机子上进行处理,这样是无法得到正确的解的。因为一个数据可能被均分到不同的机子上,而另一个则可能完全聚集到一个机子上,同时还可 能存在具有相同数目的数据。比如我们要找出现次数最多的前100个,我们将1000万的数据分布到10台机器上,找到每台出现次数最多的前 100个,归并之后这样不能保证找到真正的第100个,因为比如出现次数最多的第100个可能有1万个,但是它被分到了10台机子,这样在每台上只有1千个,假设这些机子排名在1000个之前的那些都是单独分布在一台机子上的,比如有1001个,这样本来具有1万个的这个就会被淘汰,即使我们让每台机子选出出现次数最多的1000个再归并,仍然会出错,因为可能存在大量个数为1001个的发生聚集。因此不能将数据随便均分到不同机子上,而是要根据hash 后的值将它们映射到不同的机子上处理,让不同的机器处理一个数值范围。
而外排序的方法会消耗大量的IO,效率不会很高。而上面的分布式方法,也可以用于单机版本,也就是将总的数据根据值的范围,划分成多个不同的子文件,然后逐个处理。处理完毕之后再对这些单词的及其出现频率进行一个归并。实际上就可以利用一个外排序的归并过程。
另外还可以考虑近似计算,也就是我们可以通过结合自然语言属性,只将那些真正实际中出现最多的那些词作为一个字典,使得这个规模可以放入内存。
④ 现在都流行说大数据,那怎么样可以让大量的数据可视化呢用什么工具可以做到
可以利用工具,未至科技鹦鹉可分析文章关键词并赋予权重,自动总结文章主题,将连续的自然语言文本切分成具有语义合理性和完整性的词汇序列;将文本中特定类型的事物名称或符号识别出来。目前已应用于多个行业领域,同时也包括一些通用领域如人名、地名、机构名、时间日期等。
⑤ 数据可视化的16个经典案例
[数据可视化]
本文编译自:Ross Crooks
数据可视化是指将数据以视觉的形式来呈现,如图表或地图,以帮助人们了解这些数据的意义。通过观察数字、统计数据的转换以获得清晰的结论并不是一件容易的事。而人类大脑对视觉信息的处理优于对文本的处理——因此使用图表、图形和设计元素,数据可视化可以帮你更容易的解释数据模式、趋势、统计数据和数据相关性,而这些内容在其他呈现方式下可能难以被发现。
数据可视化可以是静态的或交互的。几个世纪以来,人们一直在使用静态数据可视化,如图表和地图。交互式的数据可视化则相对更为先进:人们能够使用电脑和移动设备深入到这些图表和图形的具体细节,然后用交互的方式改变他们看到的数据及数据的处理方式。
我们必须用一个合乎逻辑的、易于理解的方式来呈现数据。但是,并非所有数据可视化作品的效果都一样好。那么,如何将数据组织起来,使其既有吸引力又易于理解?让我们通过下面的16个有趣的例子获得启发,它们是既注重风格也注重内容的数据可视化经典案例。
1:为什么会有“巴士群”现象
这里有一个关于复杂数据集的很好的例子,它看起来感觉像一个游戏。在这个例子里,Setosa网站为我们呈现了“巴士群”现象是如何发生的,即当一辆巴士被延迟,就会导致多辆巴士在同一时间到站。
只用数字讲述这个故事是非常困难的,所以取而代之的是,他们把它变成一个互动游戏。当巴士沿着路线旋转时,我们可以点击并按住一个按钮来使巴士延迟。然后,我们所要做的就是观察一个短暂的延迟如何使巴士在一段时间以后聚集起来。
2:世界上的语言
这个由DensityDesign设计的互动作品令人印象深刻,它将世界上众多(或者说,我们大多数人)语言用非语言的方法表现出来,一共有2678种。
这件作品可以让你浏览使用共同语言的家庭,看看哪些语言是最常用的,并查看语言在世界各地的使用范围。这是一种了不起的视觉叙事方法:将一个有深度的主题用一种易于理解的方式进行解读。
3:按年龄段分布的美国人口百分比
应该用什么方式去呈现一种单一的数据?这是一个令人信服的好榜样。
Pew Research创造了这个GIF动画,显示人口统计数量随着时间推移的的变化。这是一个好方法,它将一个内容较多的故事压缩成了一个小的动图包。此外,这种类型的微内容很容易在社交网络上分享或在博客中嵌入,扩大了内容的传播范围。
4:NFL(国家橄榄球联盟)的完整历史
体育世界有着丰富的数据,但这些数据并不总是能有效地呈现。然而,FiveThirtyEight网站做得特别好。
在下面这个交互式可视化评级中,他们对国家橄榄球联盟史上的每一场比赛计算“等级分” – – 根据比赛结果对球队实力进行简单的衡量 。总共有超过30,000个评级,观众可以通过比较各个队伍的等级分来了解每个队伍在数十年间的比赛表现。
5:Google Flights 上的美国感恩节
下面是将一段时间内在空中移动的物体进行可视化的好方法。这是由Google Trends驱动的项目,它跟踪感恩节前出发、到达和穿越美国的航班。
可视化始于当天很早的时间,随着时间的推移,像播放电影一样显示在全国各地飞行中的航班。不需要显示时间外的任何数字,观众即可以看到当天哪段时间是国际航班、国内航班以及往返于全国各地不同枢纽的航班的热门时间。
6:是什么真正造成了全球变暖?
我们都知道,“不要只简单地展示数据,讲个故事吧”。这正是彭博商业正在做的可视化 ——用互动的方式来讲述故事的来龙去脉。。
此图的关键是要反驳用自然原因解释全球变暖的理论。首先你会看到从1880年至今观测到的温度上升情况。为了使故事内容更加丰富,当你向下滚动时,这个可视化图会让你清楚的了解到相较于已被观测到的因素,造成全球变暖的不同因素到底有多少。作者希望观众能够得到非常清晰的结论。
7:在叙利亚,谁和谁在战斗?
许多不同的团体之间的关系可能令人很难理解 – 尤其是当有11个这样的团体存在的时候。这些团体之间有的结盟,有的敌对,反之亦然。这让人难以理解。
但是,Slate网站通过表格的形式和熟悉的视觉表达,将这些数据简化为一种简单的、易于理解和可交互的形式。观众可以点击任一张脸来查看双方关系的简要描述。
8:最有价值的运动队
这是通过叠加数据来讲述深层故事的一个典型例子。
这个交互由Column Five设计,受福布斯“2014年最具价值的运动队50强”名单得到的启发。但是它不仅将列表可视化,用户还可以通过它看到每支队伍参赛的时间以及夺得总冠军的数量。这为各队的历史和成功提供了更全面的概况信息。
9:美国风图
下面是一个类似感恩节航班的可视化图,除了图中显示的时刻,它还能实时显示美国本土的风速和风向。
它是直观设计的一个很好的案例:风速用线条移动的快慢来表示,方向通过线条移动的路径来表示。它会即时显示美国风向的总体趋势,无需任何数字,除非你在地图上点击鼠标。另外,使用时设定最多两个变量会使它更容易操作。
10:政治新闻受众渠道分布图
据Pew研究中心称,当设计师在信息内容很多又不能删的时候,他们通常会把信息放到数据表中,以使其更紧凑。但是,他们在这里使用分布图来代替。
为什么呢?因为分布图可以让观众在频谱上看到每个媒体的渠道。在分布图上,每个媒体的渠道之间的距离尤为显着。如果这些点仅仅是在表中列出,那么观众就无法看到每个渠道之间的对比效果。
11:着名创意人士的日程安排
这个数据可视化图是用奇特的想法描绘出的一个简单概念。这个表格利用Mason Currey的《日常惯例》一书中的信息展示了那些着名创意人士的日程安排,解读其时间和活动安排。这不仅是一个数据分析的例子(因为你可以通过单独的活动来浏览日程安排),也是一个品牌宣传的佳作。
12:今年发生了哪些新闻?
最好的数据可视化方式,就是用直观和美丽的方式传达信息。Echelon Insights致力于这一方式,将2014年Twitter上最受关注的新闻进行了可视化。
1亿8450万条推文是什么样子?就是如下图所示的艺术品。
13:问题的深度
当你想强调规模的时候,静态数据可视化是表达你的观点的极佳方式。下面这张来自《华盛顿邮报》的信息图长得令人难以置信…这是故意的。他们在图中展示了一架飞机可以探测到的深海信号是多么的深,通过比较飞机的探测深度与高层建筑、已知哺乳动物的最大深度、泰坦尼克号沉船的深度等。这是简单的视觉效果和颜色梯度的极佳使用方式。
最后,将数据添加到新闻报道中(文中为失踪的马航)是提供背景的好方式。
14:前沿预算
上述图表相对简单,以下是创造设计精致的、传递大量数据的图表的方法。秘诀何在?——用简单和干净的格式,便于读者理解数据。
这个由GOOD Magazine 和 Column Five制作的图表,解读了NASA的五年预算,显示资金将怎么花、花在哪里。此外,它还有一个主题设计,这真是一个全面成功的作品!
15: Kontakladen慈善年报
不是所有的数据可视化都需要用动画的形式来表达。当现实世界的数据通过现实生活中的例子进行可视化,结果会令人惊叹。设计师Marion Luttenberger把包含在Kontakladen慈善年报中的数据以一种独特的方法表现出来。
该组织为奥地利的吸毒者提供支持,所以Luttenberger就通过现实生活中的视觉元素来宣传他们的使命。例如,这辆购物车的形象表现出受助者每一天可以负担得起多少生活必需品。
16:奥地利太阳能年报
虽然有许多方法都能使数据可视化,但是其中,使用真实信息主体去创建数据可视化作品的做法非常了不起。这份来自Austria Solar的年度报告,通过在页面上使用太阳光感墨水,用真正的太阳能给公司数据赋予生命。
一句话总结:他们是天才。
⑥ 如何让excel表中数值都变成统一的文本格式
把文本格式批量转换为数值格式,步骤是:
在空白单元格中输入1,右击该单元格、复制,然后选文本型数字区域,右击,“选择性粘贴”注意勾选“乘”。
具体操作见图
⑦ 如何练就融会贯通的能力
在讨论融会贯通之前,首先应该先明确一下,我们期望融会贯通可以看到山背后的那道弯了,这是什么状况?
突然有一天,你能够想清楚过去一直困扰你的问题,你能够条分缕析了,有人说这就是通了,你究竟通的是什么?
这种状态往往就是我们所说的融会贯通,而贯通的就是大脑中的各种知识。
1.知识是什么?
大数据时代,似乎一夜之间,各行各业都开始讨论数据,都开始研究如何让数据成为自己发家致富的工具,让数据成为简化办事流程的重要抓手,让数据成为连接政府与百姓的桥梁,让数据成为支撑企业、政府高效办公的重要基础。
但究竟什么是数据呢?
互联网上关于数据的定义很多,但用句文雅的词来形容,普遍比较学术化,直白一点说,普遍让人看不懂,再说的感性一点,就是普遍不说人话,这可能也是某些学术领域一直被人诟病的地方吧。
其实,无论物质层面、精神层面,所有摸得着看得见、摸不着看不见的那些东西,都可以称为数据,用句有点文学化的语言,世间万物皆数据——这话当然也不是我说的。
说完了数据,再谈论与数据关联最紧密的信息。
所谓信息,就是那些经过加工处理、有逻辑有价值的数据。
数据只是那些最原始的记录,具体这些数据之间有什么关系,相互之间有什么联系,就需要人工进行分析处理,只有处理之后的数据才有意义,才能够为我所用。
从这个角度来说,大数据时代似乎有点不合适,仅仅大数据并不能直接给我们提供帮助,关键是数据背后的信息才是我们真正需要的,才是能够提升我们的工作生活质量,提升社会效率的关键,所以与其说大数据时代,不如说大信息时代更为妥当。
有了信息是否就可以了呢?
显然还不够,获得信息只是最基本的一步,这些信息是否有价值,还需要通过归纳、演绎、比较等手段进行挖掘,找到那些有价值的部分,沉淀下来并与已知的知识体系结合,只有这样,这些信息才能够转变成知识。
而真正促进社会发展进步,真正让人类从猿人一步步进化成高等动物,并且还在慢慢进化,最关键最重要的就是知识的积累。
那么,知识的具体涵义是什么?
李笑来的定义如下:所谓知识,就是能够指导我们做出更好决策,并且从长期来看更可能给我们带来更好结果的那些信息。
这个定义中有三个关键部分:
一是知识来自信息;
二是能够指导我们做出更好决策,翻译过来就是有用;
三是长期来看可以带来更好结果,翻译过来就是长期有用。
根据这个定义,也就有了分辨知识的最基本方法:
一是知道这些后,哪些决策会发生改变?
当然这里也有一些小问题,决策发生改变,如何保证这些改变是向着更好的方向变化呢?
二是长期来看,这些东西能够为自己带哪些想到或者想不到的好处呢?
长期来看能够想到的好处,自然是好的,也是我们努力的方向,寻找知识的目的,但那些意想不到的好处,又怎么能够提前想到呢?
所以,得到长期来看能够想得到的好处,这才是我们的出发点,也是能够把握的东西,至于那些意想不到的好处,就当这个世界给我们的惊喜好了。
必定人生处处有惊喜嘛。
2.知识融会贯通的实质是什么?
根据网络解释,所谓融会贯通,就是各方面的知识或道理融合贯穿起来,从而得到系统透彻的理解。
融会贯通最典型的表现就是知识迁移,即表面上不完全属于一类甚至根本不相关的知识,由于找到了某种共通性,进而把一个领域的知识迁移到其他领域,实现了所谓一通百通的效果。
按照现代大脑研究成果,所谓的融会贯通,很可能就是那些本来关联度不高甚至完全不相关的知识,在某种机制下建立了所谓的“大脑沟回”,那些豁然开朗、灵光一现、顿悟的状态,很可能就是多个知识点产生连接的结果。
“面对同一件事,别人能看到一点,你能看到五点;别人能看到五点,你能看到这五点之间的联系;别人能看到这五点之间的联系,你还能看到这件事的五点和另外一件事的三点的内在关系……”
我又使用来自《学会写作》的这段话了,其中的那个你,就是典型的把知识融会贯通的表现。
相信很多人都有类似体会,同一时间面对同一件事情,有些人就是能够拥有更多的启发,就是能够产生更多的想法,就是能够给出更好的意见建议,而大多数人也只能是两眼放光,除了羡慕和嫉妒,还有就是对自己的愤怒和无助。
很多人不得不发出感慨,同样是一个脑袋,为什么别人就能想到,而我想不到呢,为什么差距就这么大呢?
3.如何促进知识融会贯通?
既然融会贯通的本质就是让知识之间产生连接,显然促进融会贯通的方法,就是想办法增加知识之间的连接。
(1)多学习,掌握更多知识
按照常识就知道,大脑中掌握的知识点越多,两点之间产生连接的可能性自然就越多。
所以,促进产生更多连接的成本最低的方法,就是尽可能增加知识点。
把这个策略翻译一下,就是越博学的人,产生融会贯通的机会越大。
生活中就是有不少这种人,在讲话过程中,他们能够引经据典,各种典故随手拈来,各种名言警句金句似乎根本不用经过大脑,随用随取。
在赞叹这些人强大记忆力的同时,我们也应该反思,或许正是因为平时大量积累,在有意无意中,这些知识产生了连接贯通,相关的相似的相反的已经产生了联系,所以在调取的时候根本不需要去搜索去回忆,达到了那种随手拈来的效果。
(2)多链接,让知识产生关联
正常情况下,对于大脑什么时候才能够让那些知识点产生连接,这个我们往往无法控制,至少从目前对大脑的研究来看,可能还会有非常远的路要走。
而对于这种完全依赖大脑自行连接知识点的过程,我称为知识的被动连接。
显然,对于极度渴望成长的人来说,这样的效率太低了。
我们曾经讨论过一个话题,尽管快速成功不可能,事物有其必然的发展规律,不可能遵守你的意愿。
但我们也提到,快速入门是非常有可能,而且非常有必要,并且每个人都应该努力追求的效果。
尽可能产生更多连接的另外一个更加主动的方式,就是有意识让大脑中的知识建立连接,也就是不在被动等待大脑自行完成连接,而是主动促进各知识点的连接。
这个方法说起来还特别简单,就是遇到任何知识点,经常问自己一个问题:这个知识还能够用在什么地方?
解答这个问题的过程,实质上就是主动让大脑中现存知识建立连接的过程,不用担心自己主动建立的连接可能不够准确,大脑形成的这些连接,最终还是要经过实践的检验,才能真正成为我们积累的财富。
不知道你是否有过类似经历,当年上学的时候,特别是学英语期间,我喜欢玩一个自我联想的游戏,经常在一张白纸上,写下一个单词,然后开始联想跟这个单词相关的还有哪些单词,意思相近的,、相反的,外表长的像的,经常一起出现的,等等。
当时只是觉得好玩,并且这样处理过的单词似乎记的更牢固,不需要刻意背诵,也很难忘记,现在想来,那其实就是一种主动建立连接的过程。
总之,知识点很重要,没有数量哪来的连接,就跟写作一样,在没有写够百万字之前,根本没有资格大谈特谈写作技巧,积累不够,看起来无比有道理的那些别人总结的经验技巧,你看的再多,也很难成为你的知识,你也很难应用到自己的写作。
拥有了知识点还要主动让其产生连接,成为有用的知识,必定孤零零在那的知识,我们很难调用,它自己也很孤单,人害怕孤单孤独,它也一样,一旦独自待的太久,或者性格蝉声变化,或者干脆一不小心冬眠,或者干脆溜走,那我们不就白费功夫了,你说呢。
⑧ 电子表格中出现很长的一列数据,怎样才能将这些数据归拢到一起,让整体看上去不那么长
如果是在一个格子里的可以点击自动换行试下,就会根据列宽保持列宽自动转到下一行,下下一行显示;如果是很长的一列,可以分成多个表格显示。
⑨ 如何使用Excel让数据对比更加一目了然
我们在使用Excel时,如何能做出清晰明了的报告总结呢?如果是一份好的报告总结,总是能够帮助大家直观的理解数据的含义。本文就教大家在Excel软件中做出更加直观的数据对比报告,涨了多少、跌了多少,一看便知。有需要的朋友一起去看看吧!
这个问题其实并不困难,Excel提供了近乎无限的可能性。比如我们例子中的这个图表,你不仅可以看到每组数据的情况,还能通过图表箭头看到涨跌差距,一目了然。想让自己的图表也具备更强说服力,那就要对当前图表动动手脚了。
1、首先,正常根据数据制作图表。圈选数据,点击切换选项卡到插入,点击柱状图选中“簇状柱形图”。
2、在柱状图中单击网格线删除以保持图表页面清洁,此时右键单击图表中任意一个数据柱状图,选择“设置数据系列格式”,调整“系列重叠”为“-10%”,“分类间距”为“100%”。
3、在表格旁新建三个辅助列,分别为X轴、Y轴1、Y轴2。具体设置如下:
X轴:1.1、1.2、1.3、1.4,这部分有多少行就要设置多少个,以此类推
Y轴1:=IF(C2<B2,C2+2,NA()),如果C2<B2,那么该列数据为C2+2,否则返回错误值 #N/A,当然,如果你愿意,也可以设置为+1、+3,这个的作用是箭头在柱状图表上方的位置,根据自己需求设置即可,确定后,按住Ctrl+鼠标左键点选拉动单元格向下覆盖整列到数据尾行。
Y轴2:=IF(C2》=B2,C2+2,NA())。如果C2≥B2,那么该列数据为C2+2,否则返回错误值 #N/A。其他同上。
4、设置好辅助列,就要添加数据了。右键单击柱状图中任意一个数据,选择“选择数据”,点击左侧“添加”。系列名称选择Y轴1,系列值选择Y轴1的列,即E2到E5的数据范围。
5、此时注意柱状图中右侧两组数据已经出现了Y轴1,我们要把这个新增数据柱状图改成散点图。对着任意一个数据图右键单击选择“更改系列图表类型”,然后重点来了,不要直接切换到“XY(散点图)”选择,而是在“组合中”点选Y轴1后面的下拉菜单,选择“XY(散点图)”,这样才能保证其他数据依然是柱状图,而辅助数据是散点图。
6、这时候新增的数据柱状图已经变成了小圆点,右键单击小圆点选中“选择数据”。在选择数据源中单击Y轴1然后选择“编辑”,在弹出的“编辑数据系列”中,点选X轴系列值,圈选X轴列的内容。
7、此时,重复刚才添加Y轴1的动作添加Y轴2数据,X轴也照此操作,4组数据此时应该都已有辅助列的散点图了。
8、如何才能把目前散点图的小圆点形改成箭头呢?切换Excel选项卡到插入,单击“形状”选择“等腰三角形”并复制出第二个,其中一个设置为红色(推荐纯色、无线条),第二个设置为绿色。调整好大小后,垂直翻转90度绿色箭头。接下来Ctrl+C复制红色三角形,点选黄色小圆点(涨幅部分)并Ctrl+V粘贴,黄色小圆点就变成了红色箭头。同理,复制绿色倒三角形,点选灰色小圆点(跌幅部分)并粘贴。
9、图表此时就已经有了明显的涨跌指示,当然你还可以根据需求调整颜色等进一步美化图表。如可以将数据添加到柱状图内,右键单击任意数据柱状图选择“设置数据标签格式”,然后选择“轴内侧”,数据就会在柱状图内显示,更加整洁。同时,在小箭头处同样可以单击右键选择“添加数据标签—添加数据标注”,将具体涨跌比例填写上去,这样柱状图就非常直观了。
以上便是在Excel表格制作清晰明了数据报告的操作,学会了这些,我们便可以抛弃那些枯燥的数字报告了,同时你的领导、上司将会更喜欢看这样的报告,因为这种报告让人看起来更加舒服,同时也更加直观的传达了数字要表达的意思。希望对大家会有帮助!
⑩ 假设我在excel2003单元格中输入数据800怎么才能使800自动减去个180
设A列为输入数据,在B列输入=A1-180,然后向下复制公式即可