数据科学
徐念安
博客:https://geekmubai.com
展开
-
Python数据科学常用库——Pandas
Python数据科学常用库——Pandas一、数据格式Series0x1 创建Seriesimport numpy as npimport pandas as pd s1 = pd.Series([1,2,3,4]) # 通过Python list创建 s2 = pd.Series(np.arange(10)) # 通过numpy array创建 s3 = pd.Seri...原创 2019-01-26 15:33:19 · 327 阅读 · 0 评论 -
用户画像:标签化就是数据的抽象能力
王兴说过,我们已经进入到互联网的下半场。在上半场,也就是早期的互联网时代,你永远不知道在对面坐的是什么样的人。那个年代大部分人还是QQ的早期用户。在下半场,互联网公司已经不新鲜了,大部分公司已经互联网化。他们已经在用网络进行产品宣传,使用电商销售自己的商品。这两年引领下半场发展的是那些在讲 “大数据”“赋能”的企业,他们有数据,有用户。通过大数据告诉政府该如何智慧地管理交通,做城市规划。通...原创 2019-01-27 20:34:28 · 10243 阅读 · 0 评论 -
数据分箱技术Binning
数据分箱技术Binning数据分箱就是按照某种规则将数据进行分类。就像可以将水果按照大小进行分类,售卖不同的价格一样。对Series进行分箱创建一个整形随机的series,表示学生的成绩:import numpy as npimport pandas as pdfrom pandas import Series, DataFramescore_list = np.random.r...原创 2019-01-28 13:37:03 · 3927 阅读 · 0 评论 -
数据分组技术GroupBy
数据分组技术GroupBy数据概览其中包括四行:日期、城市、温度、风力。它的大小为20行。按列分组加入这里按照city这一列进行分组:g = df.groupby(df['city'])得到一个DataFrameGroupBy 类型的对象:<pandas.core.groupby.DataFrameGroupBy object at 0x10d45a128>查看分组...原创 2019-01-28 14:22:24 · 1214 阅读 · 0 评论 -
Subplot和Subplots绘制子图
Subplot和Subplots绘制子图plot可以绘出精美的图形,但是如果想要在一张图中展示多个子图,plot就很难办了。matplotlib提供了subplot来解决这一问题。(其实很像matlab中的绘图方法)Subplot绘图方法首先利用之前plot的方法,在一个人图中绘制两个曲线:import numpy as npimport matplotlib.pyplot as pl...原创 2019-02-11 14:00:00 · 3856 阅读 · 0 评论 -
Pandas绘图之Series和Dataframe
Pandas绘图之Series和Dataframe一、Series绘图0x1生成数据并画图首先生成一个series数据:import numpy as npimport pandas as pdfrom pandas import Seriesimport matplotlib.pyplot as plts1 = Series(np.random.randn(10)).cumsum...原创 2019-02-11 15:13:53 · 1176 阅读 · 0 评论 -
直方图和密度图
直方图和密度图一、直方图直方图反映的是一组数据的分布情况0x1 绘制直方图hist方法可以用来绘制直方图,为了使图像更清晰,可以指定每个柱间宽度:s = Series(np.random.randn(1000))plt.hist(s)plt.hist(s,rwidth=0.9)直方图反应的是分布情况,为了加深这一理解,可以看如下实验:反映了每个值出现的次数0x2 指...原创 2019-02-11 15:14:31 · 8714 阅读 · 0 评论 -
Seaborn
Seaborn一、Seaborn和Matplotlib对比Seaborn是matplotlib的强大的一个扩展。一个例子要求画出花萼和花瓣的长度的散点图,并且颜色要区分花的种类花的品种一共三种:根据花的种类定义好每种花的颜色color_map = dict(zip(iris.Name.unique(), ['blue','green','red']))使用matplotlib...原创 2019-02-11 17:29:35 · 23514 阅读 · 2 评论 -
Seaborn设置图形显示的效果
Seaborn设置图形显示的效果绘制三角函数x = np.linspace(0,14,100)y1 = np.sin(x)y2 = np.sin(x+2)*1.25def sinplot() plt.plot(x,y1) plt.plot(x,y2) plt.show()使用matplotlib绘图的效果使用seaborn绘图设置显示主题seabo...原创 2019-02-11 18:07:00 · 1625 阅读 · 0 评论 -
Seaborn强大的调色功能
Seaborn强大的调色功能使用matplotlib绘图def sinplot(): x = np.linspace(0,14,100) plt.figure(figsize=(8,6)) for i in range(4): plt.plot(x, np.sin(x+i)*(i+0.75), label='sin(x+%s)*(%s+0.75)'% (...原创 2019-02-11 19:52:48 · 840 阅读 · 1 评论 -
数据分析可视化复现
import pandas as pdimport numpy as npimport seaborn as snsimport matplotlib.pyplot as pltimport warningswarnings.filterwarnings("ignore")df = pd.read_csv("./data/HR.csv")df = df[df["last_eva...原创 2019-02-12 12:30:38 · 491 阅读 · 0 评论 -
数据采集:如何自动化采集数据?
上一节中我们讲了如何对用户画像建模,而建模之前我们都要进行数据采集。数据采集是数据挖掘的基础,没有数据,挖掘也没有意义。很多时候,我们拥有多少数据源,多少数据量,以及数据质量如何,将决定我们挖掘产出的成果会怎样。举个例子,你做量化投资,基于大数据预测未来股票的波动,根据这个预测结果进行买卖。你当前能够拿到以往股票的所有历史数据,是否可以根据这些数据做出一个预测率高的数据分析系统呢?实际上,如...原创 2019-01-27 20:33:54 · 30148 阅读 · 3 评论 -
时间序列的操作
时间序列的操作一、时间序列基础import numpy as npimport pandas as pdfrom pandas import Series, DataFramefrom datetime import datetimet1 = datetime(2009,10,20) # 创建时间序列date_list = [ # 创建...原创 2019-01-27 18:38:22 · 1211 阅读 · 0 评论 -
Python数据科学常用库——Numpy
Python数据科学常用库——Numpy一、数组的创建与访问0x1 创建一维数组import numpy as np # create from python listlist_1 = [1, 2, 3, 4]array_1 = np.array(list_1)0x2 创建二维数组list_2 = [5, 6, 7, 8]array_2 = np.array([list_1, ...原创 2019-01-25 14:40:10 · 388 阅读 · 1 评论 -
数据分析全景图及修炼指南
数据分析全景图及修炼指南数据分析在现代社会中有重要地位。掌握数据,就是掌握规律。当你了解了市场数据,对它进行分析,就可以得到市场规律。当你掌握了产品自身的数据,对它进行分析,就可以了解产品的用户来源、用户画像等等。所以说数据是个全新的视角。数据分析如此重要,它不仅是新时代的“数据结构+算法”,也更是企业争夺人才的高地。当我们谈论数据分析的时候,都在讲些什么呢?这里我可以把数据分析分成三个重要...转载 2019-01-26 17:58:11 · 1670 阅读 · 1 评论 -
学习数据挖掘的最佳路径是什么?
上一节中,我给你分享了数据分析的全景图,其中最关键的部分就是数据挖掘,那什么是数据挖掘呢?想象一下,茫茫的大海上,孤零零地屹立着钻井,想要从大海中开采出宝贵的石油。对于普通人来说,大海是很难感知的,就更不用说找到宝藏了。但对于熟练的石油开采人员来说,大海是有坐标的。他们对地质做勘探,分析地质构造,从而发现哪些地方更可能有石油。然后用开采工具,进行深度挖掘,直到打到石油为止。大海、地质信息、...原创 2019-01-26 18:19:20 · 495 阅读 · 0 评论 -
Python基础语法:开始你的Python之旅
Python基础语法:开始你的Python之旅上一节课我跟你分享了数据挖掘的最佳学习路径,相信你对接下来的学习已经心中有数了。今天我们继续预习课,我会用三篇文章,分别对Python的基础语法、NumPy和Pandas进行讲解,带你快速入门Python语言。如果你已经有Python基础了,那先恭喜你已经掌握了这门简洁而高效的语言,这几节课你可以跳过,或者也可以当作复习,自己查漏补缺,你还可以在留...原创 2019-01-26 19:42:06 · 563 阅读 · 1 评论 -
NumPy(axis=0 与axis=1)的区分
NumPy(axis=0 与axis=1)的区分df = pd.DataFrame([[1, 1, 1, 1], [2, 2, 2, 2], [3, 3, 3, 3]], columns=["col1", "col2", "col3", "col4"])df.mean(axis=1)当执行下面代码后,删掉的却是一列:df.drop("col4", axis=1)df.mean...原创 2019-01-26 20:42:03 · 1411 阅读 · 0 评论 -
Python科学计算:用NumPy快速处理数据
Python科学计算:用NumPy快速处理数据Python中一个非常重要的第三方库就是NumPy。它不仅是Python中使用最多的第三方库,而且还是SciPy、Pandas等数据科学的基础库。它所提供的数据结构比Python自身的“更高级、更高效”,可以这么说,NumPy所提供的数据结构是Python数据分析的基础。我上次讲到了Python数组结构中的列表list,它实际上相当于一个数组的...原创 2019-01-26 22:13:52 · 798 阅读 · 0 评论 -
Python科学计算:Pandas
今天我来给你介绍Python的另一个工具Pandas。在数据分析工作中,Pandas的使用频率是很高的,一方面是因为Pandas提供的基础数据结构DataFrame与json的契合度很高,转换起来就很方便。另一方面,如果我们日常的数据清理工作不是很复杂的话,你通常用几句Pandas代码就可以对数据进行规整。Pandas可以说是基于 NumPy 构建的含有更高级数据结构和分析能力的工具包。在Nu...原创 2019-01-26 23:13:25 · 528 阅读 · 0 评论 -
学数据分析要掌握哪些基本概念?
学数据分析要掌握哪些基本概念?美国明尼苏达州一家Target百货被客户投诉,这名客户指控Target将婴儿产品优惠券寄给他的女儿,而他女儿还是一名高中生。但没多久这名客户就来电道歉,因为女儿经他逼问后坦承自己真的怀孕了。Target百货寄送婴儿产品优惠券绝非偶然之举,他们发现妇女在怀孕的情况下,购买的物品会发生变化,比如护手霜会从有香味的改成无味的,此外还会购买大量维生素等保健品。通过类似的...原创 2019-01-26 23:16:16 · 619 阅读 · 0 评论 -
Pandas玩转数据
Pandas玩转数据一、排序功能0x1 Series的排序s1 = Series(np.random.randn(10)) s2 = s1.sort_values(ascending=False) # 按照值降序排列s2.sort_index() # 按照索引升序排列0x2 Dataframe的排序df1 = DataFrame(np.random.randn(40).r...原创 2019-01-27 15:58:58 · 234 阅读 · 0 评论 -
Apply函数进行数据预处理
Apply函数进行数据预处理测试数据集:包含两列:时间戳和字符串,大小为近8000行在df中添加一列,使其全部都是a将A列改的值为大写df['A'] = df['A'].apply(str.upper)使用apply进行预处理将data数据拆分为三列Apply接收一个函数作为参数,apply将会把指定列中的每一个值送给函数参数进行处理。根据观察,data列的值其实是三个部分...原创 2019-01-27 16:36:42 · 608 阅读 · 1 评论 -
通过去重进行数据清洗
通过去重进行数据清洗数据初始Seqno列去重查看Seqno列都有哪些值df['Seqno'].unique() # 查看唯一的值duplicated方法duplicated用于从上到下比较指定某一列的值,当这个值第一次出现时,返回False,当这个值和上一个比一样时,返回Truedf['Seqno'].duplicated()drop_duplicates去重复dr...原创 2019-01-27 17:03:40 · 1326 阅读 · 0 评论 -
一次学会Python数据可视化的10种技能
一次学会Python数据可视化的10种技能如果你想要用Python进行数据分析,就需要在项目初期开始进行探索性的数据分析,这样方便你对数据有一定的了解。其中最直观的就是采用数据可视化技术,这样,数据不仅一目了然,而且更容易被解读。同样在数据分析得到结果之后,我们还需要用到可视化技术,把最终的结果呈现出来。可视化视图都有哪些?按照数据之间的关系,我们可以把可视化视图划分为4类,它们分别是比较...原创 2019-02-12 16:25:25 · 1310 阅读 · 2 评论