精华内容
下载资源
问答
  • 但是ucinet这个社会网络分析工具只接受矩阵格式的数据,本白嫖大王于是在CSDN、知乎、各种问答网站上一通搜索提问邀请三连,最终啥也没搜到,只好自己动手丰衣足食。在自己提的知乎问题下面回复已解决后出乎意料竟然...

    上学期为了做一个研究的作业,拿到了一个学习平台上用户给其他用户发表的博客评论的数据,要用这些数据做社会网络分析(没错,就是SNA)。但是ucinet这个社会网络分析工具只接受矩阵格式的数据,本白嫖大王于是在CSDN、知乎、各种问答网站上一通搜索提问邀请三连,最终啥也没搜到,只好自己动手丰衣足食。在自己提的知乎问题下面回复已解决后出乎意料竟然有很多小伙伴找我要代码,碍于知乎不能发文件有的小伙伴又不想提供邮箱,我就写个博客,下次直接扔个链接。

    言归正传,首先粘上完整代码方便和我一样的白嫖大王复制粘贴。(netdraw是画社会网络图用的,如果你有ucinet等专门的社会网络分析工具这一段可以删掉)

    注:代码作者为编程菜鸟,大概齐能用,不要期望太高。
    切记:文件名要改成自己的,存储在同一个文件夹下。

    import pandas as pd
    from bisect import bisect_left
    import csv
    from networkx import *
    import matplotlib.pyplot as plt
    
    def list(l1, l2):
        for i in range(0, len(l1)):
            if l1[i] not in l2:
                l2.append(l1[i])
        return l2
    
    def list_with_repeat(l1, l2):
        for i in range(0, len(l1)):
            l2.append(l1[i])
        return l2
    
    def read(fname):
        data = pd.read_csv(fname)
        # print(data.head)
        user = []
        new1 = []
        new2 = []
        comment_user = list_with_repeat(data['user_id'], new1)
        article_user = list_with_repeat(data['commented_id'], new2)
        user = list(data['user_id'], user)
        user.sort()
        # print(comment_user)
        # print(article_user)
        #print(user)
        return user, comment_user, article_user
    
    def toMatrix(fpath, list, com, art):
        header = list
        print(list)
        # print(type(com[0]))
        # print(type(list[0]))
        # print(type(list[0]))
        bool_list = []
    
        with open(fpath, 'w', newline='') as f:
            writer = csv.writer(f)
            writer.writerow(list)
    
        matrix = [[0 for _ in range(len(list))] for _ in range(len(list))]
        # matrix = [[0]*731]*731
        for i in range(0,len(com)):
            x = com[i]
            y = art[i]
            # print(x)
            x_bool = x in list
            y_bool = y in list
            # print(y)
            # print(x_bool)
            bool_list.append(x_bool)
            if x_bool == True and y_bool == True:
                x_index = list.index(x)
                y_index = list.index(y)
                # print(x_index)
                # print(y_index)
    
                matrix[x_index][y_index] += 1
            # print(matrix)
            else:
                # print('not in')
                pass
    
        with open('comdat.csv', 'w', newline='') as ff:
            writer = csv.writer(ff)
            for j in range(0,len(list)):
                writer. writerow(matrix[j])
                # print(j)
    
        print(matrix)
        return matrix
    
    '''
    def netdraw(nodelist, matrix):
        G = networkx.Graph()
        point = nodelist
        G.add_nodes_from(point)
        edgelist = []
        for i in range(len(point)):
            for j in range(len(point)):
                edgelist.append((matrix[i][0], matrix[i][j]))
        G = networkx.graph(edgelist)
        position = networkx.circular_layout(G)
        networkx.draw_networkx_nodes(G, position, nodelist=point, node_color='blue')
        networkx.draw_networkx_edges(G, position)
        networkx.draw_networkx_labels(G, position)
        plt.show()
    '''
    def main(fname):
        f = fname
        list, com, art = read(f)
        matrix = toMatrix('data_matrix.csv', list, com, art)
        # netdraw(list, matrix)
    
    if __name__ == '__main__':
        filename = 'cmooc_comments.csv'
        main(filename)
    

    第一步 数据整理

    数据整理其实是两个工作,一方面要将所需数据挑出来形成可以生成邻接矩阵的形式;另一方面是文件格式转化为csv格式,方便Python读取。

    我们的原始数据其实非常的繁杂,需要用到的数据分布在excel文件的好几个表里,下面的图片分别是发帖情况统计和评论情况统计。
    原始数据之发帖情况
    原始数据之评论情况
    要生成邻接矩阵的话,只需要两列数据,一列是评论者,一列是被评论者,每一行代表着一条评论。在原始数据中,评论者和被评论者不在一个数据表里,但它们有一个共同的外链数据,也就是博客的ID,我亲爱的同组同学使用excel的强大功能将它们整合在了一个表中,而我并不知道这个功能怎么用(可能是vlookup吧),如下图。
    整理好的数据
    我们只需要后面两列,把这两列粘到新文件中另存为csv格式即可。

    第二步 生成所涉用户列表

    在这个研究中,我们只研究与他人产生过社交行为的用户,因此不能使用那个包含所有用户的列表,为了方便后续代码的使用,我定义了三个list,一个是所有涉及用户列表(也就是被评论者和评论者的并集),一个是评论者数据列表,一个是被评论者数据列表

    后两个都好说,直接读入就可以,至于第一个,基于list的中元素的可重复性,我的思路是,读取其中一个列表,判断其中数据是否在另一个列表中,若否,则添加到该列表中,这个列表没有重复数据,为了之后方便查看数据我们也可以把它处理成有序的。

    def list(l1, l2):
        for i in range(0, len(l1)):
            if l1[i] not in l2:
                l2.append(l1[i])
        return l2
    

    而后两个列表则是为了存储数据,所以需要有重复,且顺序不能有变,可以这样实现:

    def list_with_repeat(l1, l2):
        for i in range(0, len(l1)):
            l2.append(l1[i])
        return l2
    

    然后读入刚刚整理好的csv文件把相关数据存储在这几个list里面:

    def read(fname):
        data = pd.read_csv(fname)
        # print(data.head)
        user = []
        new1 = []
        new2 = []
        comment_user = list_with_repeat(data['user_id'], new1)
        article_user = list_with_repeat(data['commented_id'], new2)
        user = list(data['user_id'], user)
        user.sort()
        # print(comment_user)
        # print(article_user)
        #print(user)
        return user, comment_user, article_user
    

    读入csv文件需要使用panda包,记得在py文件开头写上这一行:

    import pandas as pd
    

    第三步 生成邻接矩阵并存储

    邻接矩阵的表头就是我们刚刚的第一个list,包含所有参与到互动中的用户。邻接矩阵的生成其实就是一个计数的过程,我们知道这一个评论动作的发出者和接受者之后,根据他们的ID找到矩阵中对应的那个格子,值加一,这样邻接矩阵中的数据就可以体现出交互的次数

    def toMatrix(fpath, list, com, art):
        header = list
        print(list)
        # print(type(com[0]))
        # print(type(list[0]))
        # print(type(list[0]))
        bool_list = []
    
        with open(fpath, 'w', newline='') as f:
            writer = csv.writer(f)
            writer.writerow(list)
    
        matrix = [[0 for _ in range(len(list))] for _ in range(len(list))]
        # matrix = [[0]*731]*731
        for i in range(0,len(com)):
            x = com[i]
            y = art[i]
            # print(x)
            x_bool = x in list
            y_bool = y in list
            # print(y)
            # print(x_bool)
            bool_list.append(x_bool)
            if x_bool == True and y_bool == True:
                x_index = list.index(x)
                y_index = list.index(y)
                # print(x_index)
                # print(y_index)
    
                matrix[x_index][y_index] += 1
            # print(matrix)
            else:
                # print('not in')
                pass
    
        with open('comdat.csv', 'w', newline='') as ff:
            writer = csv.writer(ff)
            for j in range(0,len(list)):
                writer. writerow(matrix[j])
                # print(j)
    
        print(matrix)
        return matrix
    

    因为我水平有限,不太知道怎么写入竖向的表头,所以这个矩阵 呢,就只有顶端横着的表头,不过没关系,你可以使用excel强大的功能,在表格最左侧插入一个空行,把上面的表头转置一下粘过来就好啦哈哈哈。

    最后一步 别忘了main函数

    main调用上面的东西,就齐活了,记得不要把传的变量搞错了。

    def main(fname):
        f = fname
        list, com, art = read(f)
        matrix = toMatrix('data_matrix.csv', list, com, art)
        # netdraw(list, matrix)
    
    if __name__ == '__main__':
        filename = 'cmooc_comments.csv'
        main(filename)
    

    第一次用Python解决实际问题还是很开心的,代码有很多不完善的地方,请各位大佬多多指正,本人玻璃心,轻点喷。

    展开全文
  • 文章目录python | Pandas/bokeh 实现交互数据可视化报告前言需求toolsPythonPandasBokeh需求->代码实现处理 .csv 格式的表格计算各类型每周总用时目标: 上述列表转化成如下列表实现分类制表制图经典的...

    python | Pandas/bokeh 实现交互数据可视化报告


    前言

    • 这是一篇写给过去自己的教程, 如果你跟四个月前的我一样, 对编程几乎没认知, 也可以看懂.
    • 这也是一篇写给未来自己的备忘, 以后重现这个项目, 或做类似项目时, 不需重构思路, 也不需再次检索已经检索过的内容.
    • 时间报告见: Time Report
    • 设计原理见: Time Report’s Report 时间报告的报告 | Li Guanghe’s blog

    需求

    • 图文展示一年中时间分配
    • 类型频率及持续时间

    tools

    Python

    Python 做数据分析有完整的工具链条.

    往深, 可以实现 Deep Learning 的项目(Scikitlearn/Tensorflow)

    往浅, 也可以实现表格(二维矩阵)的处理

    本次即使用较浅的部分,处理表格(虽然只有一张, 但很长)

    Pandas

    数据科学最小工具链

    pythonnumpypandasMatplotlib(/bokeh)Scikit-Learn(/tensorflow)
    listarraymatrixplot
    ..index,column,column,column.
    l=[,]a=[[,]index,
    .[,]]index,
    lnp.xxxpd.dataframe(np.xxx)plot.xxx.(pd.dataframe(np.xxx),x,x)
    NumPy’s Structured ArraysPandas df operates like a tructured arrayVisualization with Matplotlib

    Bokeh

    matplotlib 和 bokeh 选哪个?
    - Jupyter 常见可视化框架的选择
    - 我希望导出 html并且可交互, 故选择 bokeh.
    - 内部显示的话, matplotlib也很顺手, 有时会现用它展示, 再重新用 bokeh写一次.

    需求->代码实现

    以需求为底, 逐步拆解到实现.

    处理 .csv 格式的表格

    • 导入, 并将其转化为 DataFrame(以下简称df, pandas 可以处理的数据形式. 如上表格显示, 与 list 相似,也是数据形式, 但可以被 pandas 处理. pandas.DataFrame.from_csv
    • 导出也可为 .csv, 因在本项目中不需要导出表格, 故省略.
    • 举例
      • 原始数据格式如下:
    du_start,du_end,act_type,wday,wn4y
    1491088707.0,1491088708.0,05.Career,6,13
    1491088708.0,1491088865.0,07.social,6,13
    
        - 转换后格式如下: 
    
    import pandas as pd
    
    df = pd.read_csv('/Users/liguanghe/atl4dama/src/_rp4lgh/df_isocalendar4lgh.csv')
    df.head(3) #显示头部, 还可以显示尾部 tail(), 显示描述 describ() ,括号里填写数字, 即可限定显示多少行
    

    计算各类型每周总用时

    目标: 上述列表转化成如下列表

    • columns 是各类别
    • index 是 week
    • values 是 总用时 即每类别每周的总用时
    df3[44:45]
    

    实现

    • 增加列, 这列的内容可以根据前面各列的数据, 计算得出.
    df['du_time'] = df.apply(lambda x: x.du_end-x.du_start, axis=1)
    df.tail(1)
    

    • df中 某一列, 去掉重复的元素后, 有哪些, 可用来分类和计数.
      • 计算有多少类行为, 这些行为都在 act_type 这一列中.
      • 计算有多少周 都在 wn4y 这一列中.
    import numpy as np
    UniqueAct = df.act_type.unique()
    
    • 按照某一列中特有的某一元素 提取行,
      • eg:要从 df 中提取出 在 act_type 中都是 sleep 的行 重组一个矩阵. c = df[df[‘act_type’].isin([‘sleep’])
      • 在矩阵 c中提取出 在wn4y 中都是 14 的行 重组一个矩阵 c[c[‘wn4y’].isin([‘14’] 即第14周的所有 sleep 的数据.
    • 某一列求和 np.sum(df).[‘columnA’], eg: np.sum((c[c[‘wn4y’].isin([week])])[‘du_time’] 及某一行为某一周的总秒数, /60/60, 可得小时.
    • 使用 for in 循环, 即可将所有行为不同周的总小时数计算出来. 添加到 list l. 同时列出 list a(行为) , list w(week). 将三个列表连在一起, 形成新的矩阵. d4 = {‘act’:a, ‘week’:w,‘sum’:l} pd.DataFrame(d4)
    • 矩阵里的元素只取小数点后一位 .round(1)
    l = []
    a = []
    w = []
    for i in UniqueAct:
        c = df[df['act_type'].isin([i])]
        Uniqueweeks = df.wn4y.unique()
        for week in Uniqueweeks:
            a.append(i)
            w.append(week)
            l.append(np.sum((c[c['wn4y'].isin([week])])['du_time'])/60/60)
            d4 = {'act':a,
            'week':w,
            'sum':l}
    to= (pd.DataFrame(d4).round(1)).set_index('act')
    
    • 将某一列的内容变成 columns 另外一列的内容变成 index, 第三列的内容作为 values的方法.
      • 以’ act’作为 index, pandas 针对 index 提供检索的功能 .loc[]
      • eg: ((pd.DataFrame(d4).round(1)).set_index(‘act’)).loc['sleep] 即在所有 index 中检出行为 在这个基础上, 再使用 .set_index(‘week’), 将周作为 index
      • 事先建立一个纵轴为52周的矩阵, 在这个矩阵后面添加过滤过的矩阵.
    ls = list(range(52))
    df3=pd.DataFrame(ls)
    for act in UniqueAct:
        df3[act]= (to.loc[act]).set_index('week')
    df3.tail(1)
    

    分类制表

    有了按照类型分周的总用时的矩阵 df3,可根据自己的希望的分类选择类型, 组建新表. 下面是特有的类型

    df3.columns
    
    Index([                              0,                     '05.Career',
                               '07.social',          '07.social:networking',
                      '09.HealthFun:sport',            '12.sleep:noonsleep',
                    '04.StudyGrow:reading',                    '11.traffic',
                     '04.StudyGrow:writer', '04.StudyGrow:ComputerThinking',
                        '09.HealthFun:fun',   '08.familylife:washingbeauty',
                                '12.sleep',        '08.familylife:families',
                    '08.familylife:dinner',   '08.familylife:generalAffair',
                            '04.StudyGrow',              '04.StudyGrow:law',
                   '08.familylife:finance',                  '09.HealthFun',
                    '09.HealthFun:fantasy'],
          dtype='object')
    
    sl =df3.loc[:,['12.sleep','12.sleep:noonsleep']]# :指所有的index,即所有的行, ['','']是要选择的 column, 即列
    sl[44:45]
    

    下面分别为 live, healthfun, input,output 的分类表格

    fa = df3.loc[:,['08.familylife:washingbeauty','08.familylife:generalAffair','08.familylife:dinner','08.familylife:families','08.familylife:finance']]
    hf = df3.loc[:,['09.HealthFun:sport', '09.HealthFun:fun','09.HealthFun', '09.HealthFun:fantasy']]
    ip = df3.loc[:,['04.StudyGrow:reading','07.social', '07.social:networking']]
    op = df3.loc[:,['04.StudyGrow:ComputerThinking','04.StudyGrow:writer','05.Career', '04.StudyGrow:law',
           '04.StudyGrow']]
    
    • 计算以上各类的总用时, 添加到 df3后面
    • 将各大类的总用时再列一张表, 就是5大类总用时的表格
    df3['Sleep'] = df3.apply(lambda x: x['12.sleep:noonsleep']+x['12.sleep'], axis=1)
    df3['Live'] = df3.apply(lambda x: x['08.familylife:washingbeauty']+x['08.familylife:families']+x['08.familylife:dinner']+x['08.familylife:generalAffair']+x['08.familylife:finance'], axis=1)
    df3['HealthFun'] = df3.apply(lambda x: x['09.HealthFun:sport']+x['09.HealthFun']+x['09.HealthFun:fantasy']+x['09.HealthFun:fun'], axis=1)
    df3['Input'] = df3.apply(lambda x: x['04.StudyGrow:reading']+x['07.social']+x['07.social:networking'], axis=1)
    df3['Output'] = df3.apply(lambda x: x['04.StudyGrow:ComputerThinking']+x['04.StudyGrow:writer']+x['05.Career']+x['04.StudyGrow:law']+x[
        '04.StudyGrow'], axis=1)
    
    ti =df3.loc[:,['Output','Input','Sleep','Live','HealthFun']]
    ti[44:45]
    

    制图

    经典的Matplotlib

    开篇分析了可视化框架的选择, 虽然本报告使用 bokeh, 但因 Matplotlib 是经典的 jupyter notebook 可视化框架, 这里快速展示一下, 其他可视化框架的原理都跟这差不多.

    import matplotlib.pyplot as plt
    
    ti.plot.bar(stacked=True); #ti 是矩阵名称, .plot是制图, .bar 是制作柱状图 (stacked=True) 是说折叠的柱状图
    plt.show() #展示图片
    
    

    本报告使用 bokeh

    主要是其可导出为 .html, 这样可直接发布到公网, 无需再另行排版或上传图片取得链接等等.

    且 bokeh 与 jupyter notebook 对接良好, 图片可直接在notebook 里预览.

    #from bokeh.io import show, output_file #生成的图片在 html网页显示
    from bokeh.io import output_notebook, show #生成的图片在 jupyter notebook 中的 .ipynb 中显示
    
    output_notebook()
    #output_file('/Users/liguanghe/liguanghe.github.io/source/_posts/TimeReport.html', title = 'Time Report')
    

    bokeh 也可以直接处理 矩阵, 比 matplotlib 多一步

    from bokeh.models import ColumnDataSource
    # 下文中 source3 = ColumnDataSource(ti) source1 = ColumnDataSource(op)... 等
    

    bokeh 生成图片

    pt = figure(title='5 types')
    pt.vbar_stack(ti.columns, x = ti.index,width = 0.9,color=Spectral5,source = source3, 
                  legend=[value(x) for x in ti.columns])
    pt.legend.location = "top_left"
    
    • 画一个空白的图 p5= figure(height=HEIGHT) ,同时可以设置这个图的长度和高度, 在括号里赋值 height 和 width…
    • 这个图是折叠柱状图 .vbar_stack
    • 要折叠的内容的 矩阵 ti 中 columns 里的各类. ti.columns( 几个类型)
    • 横轴(x)是 矩阵 ti 中的 index (周)
    • 每个bar 的宽度是0.9 width = 0.9
    • bar 里的不同类要有不同颜色, 用 color 来赋值
      • 这里需要特别注意, 有几类, 就用几个颜色.
      • from bokeh.palettes import GnBu5,Greens3,Spectral5,Oranges5,Reds4
      • bokeh.palettes可以选取颜色组合
      • 这些组合最少三个色, 你只有两个也没关系, 可以自己设定两个颜色, 见下面代码中 ps 那张图.
    • source 就是用什么来做图.
    • legend 是给每一截bar打标签, 即在图中显示每截不同颜色的 bar 是什么. 这里也要注意, 长度和内容应该与图中实际情况一样. legend=[value(x) for x in ti.columns
    • 以上内容在Quickstart — Bokeh有介绍.
    from bokeh.plotting import figure
    from bokeh.palettes import GnBu5,Greens3,Spectral5,Oranges5,Reds4
    from bokeh.core.properties import value
    
    #WIDTH = 500
    HEIGHT = 300
    
    source3 = ColumnDataSource(ti)
    pt = figure(title='5 types')
    pt.vbar_stack(ti.columns, x = ti.index,width = 0.9,color=Spectral5,source = source3, 
                  legend=[value(x) for x in ti.columns])
    pt.legend.location = "top_left"
    
    po = figure(height=HEIGHT)
    source1 = ColumnDataSource(op)
    po.vbar_stack(op.columns, x = op.index,width = 0.9,color=GnBu5,source = source1,
    legend=[value(x) for x in op.columns])
    po.legend.location = "top_left"
    
    source2 = ColumnDataSource(ip)
    pi = figure(height=HEIGHT,title='Input')
    pi.vbar_stack(ip.columns, x = ip.index,width = 0.9,color=Greens3,source = source2,
                 legend=[value(x) for x in ip.columns])
    pi.legend.location = "top_left"
    
    colors = ['#ffffcc','#FDE724' ]
    
    ps = figure(height=HEIGHT)
    source4 = ColumnDataSource(sl)
    ps = figure(height=HEIGHT,title='sleep')
    ps.vbar_stack(sl.columns, x = sl.index,width = 0.9,color=colors,source = source4,
                 legend=[value(x) for x in sl.columns])
    ps.legend.location = "top_left"
    
    source5= ColumnDataSource(fa)
    pf = figure(height=HEIGHT,title='live')
    pf.vbar_stack(fa.columns, x = fa.index,width = 0.9,color=Oranges5,source = source5,
                 legend=[value(x) for x in fa.columns])
    pf.legend.location = "top_left"
    
    
    source6= ColumnDataSource(hf)
    ph = figure(height=HEIGHT,title='healthfun')
    ph.vbar_stack(hf.columns, x = hf.index,width = 0.9,color=Reds4,source = source6,
                 legend=[value(x) for x in hf.columns])
    ph.legend.location = "top_left"
    
    

    bokeh HTML 排版及插入视窗

    • 前面说 bokeh 可输出漂亮的可交互的 html, 将多张图片按照你希望的格式排列在网页上. 不仅是图片, 也可以插入文字/按钮等等
    • 先说插入文字/按钮等视窗
      • Div是可以识别 html 排版语言的小窗口, 把你想要显示的文字填在 Div(text=''' ''')中. 可赋值长度和宽度
    from bokeh.layouts import widgetbox
    from bokeh.models.widgets import Div
    
    t0 = Div(text="""
        <h1 align="center">Time Report</h1>
        <p>Each Nature week has 168 hours(24h*7d=168h).</p>
        <p>Hours in this form are a little more or less. 
        One reason is some time may not be recorded,the other reason 
        is an event time may cross two weeks.</p>
        <p>Each bar in the plot nearly touchs 168(y), 
        this shows I record all time-spent every week.  </p>
        <h2> 5 big types</h2>
        <p>Label daily action to 5 big types, like the plot shows. </p>
        """,width=WIDTH, height=200)
    
    • 除了文字, 还可以填写 function, 给 variable 赋值, 即可显示对应的输出结果.
    • frequency 是我编写的 function, 会在下文详解.
    from lgh7SumFrequency import frequency
    t1 = Div(text='''<h2>Output ↑</h2>'''
        +frequency(cvsf,'04.StudyGrow:ComputerThinking')+'''<p>\n</p>'''
        +frequency(cvsf,'04.StudyGrow:writer')+'''<p>\n04.StudyGrow shows  curious.</p>''',width=WIDTH, height=100)
    t2 = Div(text='''<h2>Input ↑</h2>
        <p>Reading without output is input.</p>
        <p>Meaningly social is in this part. Others belong to live:familes.\n<p>'''
        +frequency(cvsf,'04.StudyGrow:reading'),width=WIDTH, height=100)
    t3 = Div(text='''<h2>Sleep ↓</h2>
        <p>sleep < 59h</p>''',width=WIDTH, height=100)
    t4 = Div(text='''<h2>Live</h2><p>08.familylife:familes includes other social.</p>'''
        +frequency(cvsf,'08.familylife:washingbeauty'),width=WIDTH, height=100)
    t5 = Div(text='''<h2>HealthFun</h2>'''+frequency(cvsf,'09.HealthFun:sport')+'''\n<p>09.Healthfun shows curious.</p>
        <p>09.Healthfun:fun should be down.</p>
        ''',width=WIDTH, height=100,)
    
    • 排版, 可以按照坐标的方式, 即 grid, 也可以按照 row 和 column 排列, 这里选择 grid , [widgetbox(t0),none] 则会将他们排在一行, 其他的一次排下去. Laying out Plots and Widgets
    from bokeh.layouts import gridplot
    
    grid = gridplot([[widgetbox(t0)],[pt],[t1], [po],[t2],[pi],[t3],[ps],[t4],[pf],[t5],[ph]])
        save(grid)
    
    show(grid)
    

    即可生成 HTML, 输出成果见time report

    计算频率的 function

    制表

    • 一个行动类型一张表
    • index: 周
    • column: 7天
    • value: 有行动是0, 没有行动是1
    import pandas as pd
    import numpy as np
    #import matplotlib.pyplot as plt
    
    u = (((df.loc[:,['act_type','wday','wn4y']]).set_index('act_type')).loc['09.HealthFun:sport']).set_index('wn4y')
    yo =[]
    we=[]
    da = []
    for week in u.index.unique():
        for i in range(7):
            if i in (u.loc[week].values):
                y = 0
            else:
                y = 1
            yo.append(y)
            we.append(week)
            da.append(i)
            d = {'you':yo,
                'week':we,
                'day':da}  
    y= pd.DataFrame(d).set_index('week')
    ls = list(range(7))
    
    yu = pd.DataFrame(ls)             
    for we in u.index.unique():
        yu[we] = (y.loc[we]).set_index('day')
    (yu.T).loc[30:33]
    
    

    根据表格内容输出话语

    • 如果 每行的总和是0, 输出: 每天都运动
    • 如果 每行总和不是0, 输出: 总和 天没有运动
    for we in u.index.unique():
                yu[we] = (y.loc[we]).set_index('day')
                ''' sum = 0 / sum = n, n is not sport last week'''
            if (yu.sum(axis = 0)<=0)[-1:].values == True:
                return stype + ' everyday.'
            else:
                return str(yu.sum(axis = 0).iloc[-1]) + " days didn't "+ stype +' last week.'
    
    • 转成 function,处理不同的行为
      • 如果输入的不是行为列表中的元素, 则输出, 请输入你行为列表中的行为
      • 调用这个函式如上文小窗口 t1,t3,t4 中的 frequency(cvsf,'04.StudyGrow:ComputerThinking')
    import sys
    import pandas as pd
    import numpy as np
    
    
    
    def frequency(cvsf,stype):
        '''read .csv to df'''
        df = pd.read_csv(cvsf)
        df['du_time'] = df.apply(lambda x: x.du_end-x.du_start, axis=1)
        '''sport index=week, column = day'''
        
        if stype in str(df['act_type']):
            u = (((df.loc[:,['act_type','wday','wn4y']]).set_index('act_type')).loc[stype]).set_index('wn4y')
    
            '''index = 0-6, column = week, value = 0/1'''
            Uniqueday = u.wday.unique()    
            UniqueWeeks = df.wn4y.unique()
    
            yo =[]
            we =[]
            da =[]
            for week in u.index.unique():
                for i in range(7):
                    if i in (u.loc[week].values):
                        y = 0
                    else:
                        y = 1
                    yo.append(y)
                    we.append(week)
                    da.append(i)
                    d = {'you':yo,
                        'week':we,
                        'day':da}  
            y= pd.DataFrame(d).set_index('week')
            ls = list(range(7))
    
            yu = pd.DataFrame(ls)             
            for we in u.index.unique():
                yu[we] = (y.loc[we]).set_index('day')
                ''' sum = 0 / sum = n, n is not sport last week'''
            if (yu.sum(axis = 0)<=0)[-1:].values == True:
                return stype + ' everyday.'
            else:
                return stype+' ' +str(yu.sum(axis = 0).iloc[-1]) + " days off last week."
            
        else:
            print ('please input one act_type in your data')
        
    
    if __name__ == '__main__':
        print(__version__)
        _csv = sys.argv[1]
        _ty = sys.argv[2]
        frequency(_csv,_ty)
    

    展开全文
  • python 交互式流程图 Python中的数据可视化 (Data Visualization in Python) R vs Python is a constant tussle when it comes to what is the best language, according to data scientists. Though each language ...

    python 交互式流程图

    Python中的数据可视化 (Data Visualization in Python)

    R vs Python is a constant tussle when it comes to what is the best language, according to data scientists. Though each language has it’s strengths, R, in my opinion has one cutting-edge trick that is hard to beat — R has fantastic tools to communicate results through visualization.

    根据数据科学家的说法,R还是Python一直是争论最佳语言的话题。 尽管每种语言都有自己的长处,但我认为R具有一个难以克服的尖端技巧-R具有出色的工具,可以通过可视化传达结果。

    This particular point stood out to me this week, when I was trying to find an appealing way to visualize the correlation between features in my data. I stumbled upon CHORD Diagrams!(Which we will get to, in a minute) I had seen a few R examples to generate Chord Diagrams using Circlize where you could just pass the properly shaped data to the chordDiagram() function and ta-da!

    本周,当我试图找到一种吸引人的方式来可视化数据中要素之间的相关性时,这一点对我而言尤为突出。 我偶然发现了和弦图表!(我们将拿地,在一分钟内),我已经看到了一些[R例子使用Circlize在那里你可以只在适当形状的数据传递给chordDiagram()函数和当当生成和弦图表!

    You should have seen the look on my face when I found the Python Plotly implementation of the Chord Diagram. Even to get a basic figure, one had to put in a lot of effort. The end result simply did not seem worth the effort. I was almost dropping the idea of using a Chord Diagram, when I stumbled upon chord on pypi.

    当我发现Chord Diagram的Python Plotly实现时,您应该已经看到了我的表情。 即使要获得一个基本的数字,也必须付出很多努力。 最终结果似乎根本不值得付出努力。 当我偶然发现pypi的和弦时,我几乎放弃了使用和弦图的想法。

    好的,和弦图是什么? (Okay, What is a Chord Diagram?)

    A Chord Diagram represents the flows between a set of distinct items. These items known as nodes are displayed all around a circle and the flows are shown as connections between the nodes, shown as arcs.

    和弦图表示一组不同项目之间的流程。 这些称为节点的项目显示在整个圆周围,并且流程显示为节点之间的连接,显示为圆弧。

    If that did not explain it clearly, let’s take a look at an example:

    如果那不能清楚地解释它,让我们看一个例子:

    Image for post
    Image by the Author
    图片由作者

    The above Chord Diagram, visualizes the number of times two entities(Cities in this case) occur together in the itinerary of a traveler, it allows us to study the flow between them.

    上面的弦图,可视化了两个实体(在这种情况下为城市)在一个旅行者的行程中一起出现的次数,它使我们能够研究它们之间的流动。

    如何以最小的努力创建漂亮的和弦图? (How to create a beautiful Chord Diagram with minimum effort?)

    Let me take you through the process of data preparation and then the creation of the Chord Diagram.

    让我引导您完成数据准备过程,然后创建和弦图。

    安装: (Installation:)

    Assuming Pandas is already installed, You need to install the chord package from pypi, using —

    假设已经安装了Pandas,则需要使用以下方法从pypi安装和弦包:

    pip install chord

    数据准备: (Data Preparation:)

    I am using the Boston House Prices Dataset, which can be downloaded from here.

    我使用的是波士顿房屋价格数据集,可从此处下载。

    # importing Pandas libary
    import pandas as pd# reading data from csv
    df = pd.read_csv("housing.csv")

    My goal, here is to visualize the correlation between the feature in the dataset. So, for the sake of brevity, I will drop a few of the columns. I will be left with only 6 features. (You can skip this if you wish)

    我的目标是可视化数据集中要素之间的相关性。 因此,为了简洁起见,我将删除一些专栏文章。 我将只剩下6个功能。 (如果愿意,可以跳过此步骤)

    # List of columns to delete and then dropping them.
    delete = ['ZN', 'INDUS', 'CHAS', 'DIS','RAD','PTRATIO','B','LSTAT']df.drop(delete, axis=1, inplace=True)

    Now let’s create the correlation matrix using Pandas corr() function.

    现在,让我们使用Pandas corr()函数创建相关矩阵。

    # Now, matrix contains a 6x6 matrix of the values.
    matrix = df.corr()# Replacing negative values with 0’s, as features can be negatively correlated.
    matrix[matrix < 0] = 0# Multiplying all values by 100 for clarity, since correlation values lie b/w 0 and 1.
    matrix = matrix.multiply(100).astype(int)# Converting the DataFrame to a 2D List, as it is the required input format.
    matrix = matrix.values.tolist()

    This data is now perfect for our plotting!

    现在,该数据非常适合我们的绘图!

    绘制图表: (Plotting the Chart Diagram:)

    The only step left before plotting, is storing the names of the entities as a list. In my case, these are the names of the features.

    绘制之前剩下的唯一步骤是将实体名称存储为列表。 就我而言,这些是功能的名称。

    # Names of the features.
    names = ["Crime Rate","N-Oxide","Number of rooms","Older buildings","Property Tax","Median Price"]

    Now, all we have to do is import the package —

    现在,我们要做的就是导入包-

    from chord import Chord

    Then pass the matrix and the names to the Chord() function.

    然后将矩阵和名称传递给Chord()函数。

    Chord(matrix, names).show()#Note: The show() function works only with Jupyter Labs.
    # (Not Jupyter notebook)

    This will be your output:

    这将是您的输出:

    Image for post
    Output in Jupyter Lab. Image by Author.
    Jupyter Lab中的输出。 图片由作者提供。

    Before we go further and explore the other style and output settings available in the Chord library, let’s take a look at what the output represents.

    在进一步探讨Chord库中可用的其他样式和输出设置之前,让我们看一下输出所代表的含义。

    As you can see, when you hover on the Crime rate, you can see that it is connected to Property Tax, Older Buildings and level of N-Oxide, but has no connections with the Median Price or the Number of Rooms. You can now hover on the connection and you will see the correlation value between these features.

    如您所见,当您将鼠标悬停在犯罪率上时,您会看到它与物业税,旧建筑物和N-氧化物水平相关,但与中位数价格或房间数没有关系。 您现在可以将鼠标悬停在连接上,您将看到这些功能之间的相关性值。

    You might notice that the Median Price is 100% correlated with itself, which is the case with all the features. That happens because we get a perfect correlation value when we compare a feature against itself. We can fix this with a single line of code, if you wish.

    您可能会注意到,中位数价格与其自身100%相关,所有功能都是这种情况。 发生这种情况的原因是,当我们将特征与自身进行比较时,我们获得了完美的相关值。 如果您愿意,我们可以用一行代码来解决。

    # Operate on the data before converting it into a 2D List# We are just converting all Perfect correlation 100's(Basically the 1’s) to 0 as well.
    matrix[matrix == 100] = 0
    matrix = matrix.values.tolist()

    Here is your output, a much cleaner Chord Diagram:

    这是您的输出,更清晰的和弦图:

    Image for post
    Image by Author
    图片作者

    将和弦图导出为HTML: (Export the Chord Diagram as HTML:)

    Since the package uses d3-chord at it’s core, it also gives us the option to output the ChordDiagram as a completely editable HTML file! How cool is that?

    由于该软件包的核心使用d3-chord,因此它还为我们提供了将ChordDiagram输出为完全可编辑HTML文件的选项! 多么酷啊?

    Again, a single method call will do it for you —

    同样,一个方法调用将为您完成—

    Chord(matrix, names).to_html()# This will create a file 'out.html' in your current directory.

    You can open the HTML in a browser to find the same interactive Chord Diagram or you can open the .html in a code editor and customize the rest of your page!

    您可以在浏览器中打开HTML以找到相同的交互式和弦图,也可以在代码编辑器中打开.html并自定义页面的其余部分!

    Here’s my output,

    这是我的输出,

    Image for post
    Output in the form of HTML. Image by Author.
    以HTML形式输出。 图片由作者提供。

    What I have done is extremely basic. The point is, output as a HTML opens up a myriad of possibilities to use the Chord Diagram.

    我所做的工作非常基础。 关键是,以HTML格式输出将打开使用和弦图的多种可能性。

    样式和自定义: (Styling and Customization:)

    颜色: (Colors:)

    You can change the colors of the Chord Diagram by passing any colors from the d3 categorical palette. You can find samples of the outputs on the Official Guide. But here are a couple of examples:

    您可以通过传递d3分类调色板中的任何颜色来更改和弦图的颜色。 您可以在《 官方指南》中找到输出示例。 但是这里有几个例子:

    # Just add the colors parameter and pass the value.
    Chord(matrix, names, colors="d3.schemeDark2").show()
    Image for post
    Image by Author
    图片作者
    # Just add the colors parameter and pass the value.
    Chord(matrix, names, colors="d3.schemeAccent").show()
    Image for post
    Image by Author
    图片作者
    # Add all the colors to a list.
    coloursList = ["#f50057", "#2196f3", "#00e676", "#ff5722", "#00000", "#ff9100"]# Pass the list to the colors parameter.
    Chord(matrix, names, colors=coloursList).show()
    Image for post
    Image by Author
    图片作者

    Other customization's:

    其他定制:

    You can customize the labels and the opacity as well, checkout the official guide for that.

    您也可以自定义标签和不透明度,请查看官方指南。

    结论: (Conclusions:)

    Creating visualizations is almost always a part of a Data Scientist’s work. Part is the keyword here, because it means you cannot spend a lot of time to get them in shape and that is why we look for options that provide a simple yet functional implementation. That’s what I try to explore in this article, by creating an effective Chord Diagram with minimal effort.

    创建可视化几乎总是一个数据科学家的工作的一部分part是这里的关键字,因为它意味着您不能花费大量时间来使它们成形,因此这就是我们寻找提供简单但功能性实现的选项的原因。 这就是我通过最小的努力创建有效的Chord Diagram来尝试的方法。

    This is my first work of technical writing and I have attempted to embed all the best practice that I have come across in my years of reading excellent content from this community. I’d appreciate feedback about any aspects of my work.

    这是我的第一篇技术写作著作,我试图将多年来阅读该社区优秀内容所遇到的所有最佳实践嵌入其中。 感谢您对我的工作的各个方面的反馈。

    其他资源: (Additional resources:)

    [1] Official Guide — Shahin Rostami’s blog(Author of the library)

    [1] 官方指南 -Shahin Rostami的博客(图书馆作者)

    [2] chord on PyPi — You can download the package here.

    [2] PyPi上的和弦 —您可以在此处下载软件包。

    翻译自: https://towardsdatascience.com/create-beautiful-and-interactive-chord-diagrams-using-python-cb5ecb092a7c

    python 交互式流程图

    展开全文
  • 系列一:《python数据分析基础与实践》 章节1Python概况 课时2Python简介 章节2Python安装 课时3安装Anaconda 课时4使用Anaconda 章节3数据准备 课时5数据类型 – 布尔型 课时6数据类型 – 数值型 课时7数据类型 – ...

    系列一:《python数据分析基础与实践》
    章节1Python概况
    课时2Python简介
    章节2Python安装
    课时3安装Anaconda
    课时4使用Anaconda
    章节3数据准备
    课时5数据类型 – 布尔型
    课时6数据类型 – 数值型
    课时7数据类型 – 字符型
    课时8数据结构 – List
    课时9数据结构 – Tuple
    课时10数据结构 – Set
    课时11 数据结构 – Dic
    课时12 Pandas数据结构 – Series
    课时13 Pandas数据结构 – DataFrame
    课时14程序结构 – 选择
    课时15程序结构 – 循环
    课时16函数使用
    课时17向量化运算
    章节4数据处理
    课时18数据的导入 – CSV
    课时19数据的导入 – 修改文件编码
    课时20数据的导入 – TXT
    课时21数据的导入 – Excel
    课时22数据的导出
    课时23重复值处理
    课时24 缺失值处理
    课时25空格值处理
    课时26字段抽取
    课时27字段拆分
    课时28记录抽取
    课时29随机抽样
    课时30记录合并
    课时31字段合并
    课时32字段匹配
    课时33简单计算
    课时34数据标准化
    课时35数组分组
    课时36日期转换
    课时37日期格式化
    课时38日期抽取
    章节5数据可视化
    课时39散点图
    课时40折线图
    课时41饼图
    课时42柱形图
    课时43直方图
    章节6网页数据抓取
    课时44HTML简述
    课时45JSON简述
    课时46网页结构分析
    课时47解析网页
    课时48综合案例
    章节7连接MySQL
    课时49Python & MySQL
    章节8数据分析
    课时50基本统计
    课时51分组分析
    课时52分布分析
    课时53交叉分析
    课时54结构分析
    课时55相关分析

    系列二:《Python数据分析班(视频+课件+源码)》

    第一课 Python入门 (王)
    1.Python安装
    2.常用数据分析库NumPy、Scipy、Pandas、matplotlib安装
    3.常用高级数据分析库scikit-learn、NLTK安装
    4.IPython的安装与使用
    5.Python2与Python3区别简介
    案例:Python常用科学计算

    第二课 数据准备与Numpy (应)
    1.多维数组对象
    2.元素级别处理函数
    3.利用数组进行数据处理
    4.文件输入输出
    5.线性代数相关功能以及线性代数基础知识
    6.随机数的生成
    案例:通过实际代码演示NumPy的多维数组与线性代数矩阵操作,以及数据输入输出

    第三课 Python数据分析主力Pandas (应)
    1.基本数据结构
    2.基本功能:索引,选取,过滤,排序…
    3.基本统计功能
    4.缺失数据处理
    5.层次化索引
    案例:通过实际代码演示pandas处理及统计数据

    第四课 数据获取与处理 (寒)
    1.工业界常见数据格式与形态
    2.python对不同格式的数据读写
    3.pandas数据处理复习
    4.数据简易爬取与解析
    5.正则表达式:快捷捕捉你想要的信息
    案例:简易网页爬取与数据解析处理

    第五课 数据可视化Matplotlib (冯)
    1.信息可视化和数据可视化的基本原理
    2.常见可视化的方式
    3.如何针对数据特点设计可视化方案
    案例:一典型可视化方式的实现(提供课堂ipython代码实例)

    第六课 Python文本分析NLTK (加)
    1.分词
    2.词性标注
    3.情感分析
    4.词形还原
    5.拼写检查
    6.文本分类
    案例:一个典型文本分类流程的实现

    第七课 python 社交网络分析igraph(王)
    1.社交网络分析指标介绍
    2.pagerank算法
    3.igraph中多种社区发现算法介绍
    案例:如何构造一个图,节点、边操作,以及基础图算法使用和可视化案例

    第八课 Python机器学习scikit-learn(冯)
    1.scikit-learn简介
    2.机器学习的处理流程:以scikit-learn为例
    3.scikit-learn的优化方法(并行化处理,cython的使用等)
    案例:以手写数字识别和房价预估为例,如何利用sklearn进行机器学习的特征转化、建模、可视化,以及最后的模型评估

    第九课 数据科学完整案例:学会使用你的“瑞士军刀”(寒)
    1.数据获取与解析:你爱的足球队
    2.用“数据”的眼睛去看球:“一个人完成的央视数据统计”
    3.球员数据统计与可视化:“到底谁是最好的球员?”
    案例说明:从抓取数据、解析数据、分析数据,到可视化、建模完整走一遍,从实际案例中一举窥探数学科学完整工作流程

    第十课 Python分布式计算 (王)
    1.Python多进程模块Multiprocessing
    2.Python使用Hadoop分布式计算库mrjob
    3.Python使用Spark分布式计算库PySpark
    案例:分别使用MapReduce和Spark实现wordcount

    系列三《十五周完完全全学python数据分析》:
    课程大纲:
    第一部分. Python基础
    第一课:Python的概览——Python的基本介绍、安装与基本语法、变量类型与运算符
    第二课:了解Python流程控制——条件、循环语句与其他语句
    第三课:常用函数——函数的定义与使用方法、主要内置函数的介绍
    第四课:NumPy基础——数组的创建、组合与分割

    第二部分 数据分析的准备
    第五课:了解数据——数据加载、储存与文件格式;异常值的清理与缺失值处理
    第六课:数据清洗与初步分析——数据清理、转换、合并与重塑;数据汇总与描述统计;
    第七课:绘图与可视化——基本绘图命令与图形概览、图形元素设定与实例:地震危机数据的可视化
    第八课:数据聚合与分组处理——数据聚合、分组运算与转换、透视表与交叉表

    第三部分 数据分析初探
    第九课:假设检验——常用假设检验与实例分析
    第十课:线性回归——线性回归模型、分析结果呈现与解读;实例:商品价格预测
    第十一课: logistic回归——logistic回归模型讲解;实例:电信客户流失分析
    第十二课:时间序列分析——时间序列基本处理、时间序列模型构建与结果解读;实例:未来股票价格预测

    第四部分 深入数据分析
    第十三课:分类算法——knn、决策树、贝叶斯分类器等算法介绍;实例:网页注册用户预测
    第十四课:聚类算法——k-means算法介绍;实例:通信基站聚类分析
    第十五课:降维方法——主成分分析与因子分析算法介绍;实例:地区经济指标评分

    系列四:Python可视化分析教程(新增)
    1.课程简介和环境搭建16:26
    2.Numpy简介12:47
    3.散点图12:16
    4.折线图11:14
    5.条形图10:23
    6.直方图09:30
    7.饼状图06:39
    8.箱形图07:35
    9.颜色和样式12:40
    10.面向对象 VS Matlab Style09:18
    11.子图-subplot07:46
    12.多图-figure03:03
    13.网格08:03
    14.图例_legend12:09
    15.坐标轴范围06:08
    16.坐标轴刻度14:56
    17.添加坐标轴09:15
    18.注释09:29
    19.文字10:40
    20.Tex公式16:33
    21.工具栏04:49
    22.区域填充11:20
    23.形状10:26
    24.样式-美化13:41
    25.极坐标09:03
    26.函数积分图(一)14:09
    27.函数积分图(二)17:29
    28.散点-条形图(一)14:53
    29.散点-条形图(二)14:41
    30.球员能力图(一)15:37
    31.球员能力图(二)15:34
    32.股票K线图(一)10:04
    33.股票K线图(二)12:03

    系列五:2017年5月最新数据分析升级班(视频+代码+课件)
    课程大纲:
    第一课 工作环境准备及数据分析建模理论基础 (2课时)

    1. 课程介绍
    2. Python语言基础及Python 3.x新特性
    3. 使用NumPy和SciPy进行科学计算
    4. 数据分析建模理论基础
    a. 数据分析建模过程
    b. 常用的数据分析建模工具
    5. 实战案例:科技工作者心理健康数据分析(Mental Health in Tech Survey)
    第二课 数据采集与操作 (2课时)

    1. 本地数据的采集与操作
    a. 常用格式的本地数据读写
    b. Python的数据库基本操作
    2. 网络数据的获取与表示
    a. BeautifulSoup解析网页
    b. 爬虫框架Scrapy基础
    3. 回归分析– Logistic回归
    4. 实战案例:获取国内城市空气质量指数数据
    第三课 数据分析工具Pandas (2-3课时)

    1. Pandas的数据结构
    2. Pandas的数据操作
    a. 数据的导入、导出
    b. 数据的过滤筛选
    c. 索引及多重索引
    3. Pandas统计计算和描述
    4. 数据的分组与聚合
    5. 数据清洗、合并、转化和重构
    6. 聚类模型 — K-Means
    7. 实战案例:全球食品数据分析(World Food Facts)
    第四课 数据可视化 (2课时)

    1. Matplotlib绘图
    2. Pandas绘图
    3. Seaborn绘图
    4. 交互式数据可视化 — Bokeh绘图
    5. 实战案例:世界高峰数据可视化 (World’s Highest Mountains)
    第五课 时间序列数据分析 (2课时)

    1. Python的日期和时间处理及操作
    2. Pandas的时间序列数据处理及操作
    3. 时间数据重采样
    4. 时间序列数据统计 — 滑动窗口
    5. 时序模型 — ARIMA
    6. 实战案例:股票数据分析
    第六课 文本数据分析 (2课时)

    1. Python文本分析工具NLTK
    2. 分词
    3. 情感分析
    4. 文本分类
    5. 分类与预测模型 — 朴素贝叶斯
    6. 实战案例:微博情感分析
    第七课 图像数据处理及分析 (2课时)

    1. 基本的图像操作和处理
    2. 常用的图像特征描述
    3. 分类与预测模型 — 人工神经网络
    4. 实战案例:电影口碑与海报图像的相关性分析
    第八课 机器学习基础及机器学习库scikit-learn (2课时)

    1. 机器学习基础
    2. Python机器学习库scikit-learn
    3. 特征降维 — 主成分分析
    4. 实战案例:识别Twitter用户性别 (Twitter User Gender Classification)
    第九课 项目实战:通过移动设备行为数据预测使用者的性别和年龄(2课时)

    1. 交叉验证及参数调整
    2. 特征选择
    3. 项目实操
    4. 课程总结

    系列六:2018python数据分析与机器学习实战(视频+源码+课件)
    目录
    章节1:人工智能入门指南(有基础的同学请略过!)
    课时1课程介绍(主题与大纲)10:46
    课时2AI时代首选Python09:20
    课时3Python我该怎么学04:21
    课时4人工智能的核心-机器学习10:35
    课时5机器学习怎么学?08:37
    课时6算法推导与案例08:19
    章节2:Python科学计算库-Numpy
    课时7使用Anaconda安装python环境(Python新手先看这个)13:10
    课时8课程数据,代码,PPT(在参考资料界面)
    课时9科学计算库Numpy10:32
    课时10Numpy基础结构10:41
    课时11Numpy矩阵基础05:55
    课时12Numpy常用函数12:02
    课时13矩阵常用操作10:18
    课时14不同复制操作对比10:49
    章节3:python数据分析处理库-Pandas
    课时15Pandas数据读取11:50
    课时16Pandas索引与计算10:26
    课时17Pandas数据预处理实例13:01
    课时18Pandas常用预处理方法11:11
    课时19Pandas自定义函数07:44
    课时20Series结构12:29
    章节4:Python数据可视化库-Matplotlib
    课时21折线图绘制08:25
    课时22子图操作14:05
    课时23条形图与散点图10:12
    课时24柱形图与盒图10:17
    课时25细节设置06:13
    章节5:Python可视化库Seaborn
    课时26Seaborn简介02:44
    课时27整体布局风格设置07:48
    课时28风格细节设置06:50
    课时29调色板10:40
    课时30调色板颜色设置08:18
    课时31单变量分析绘图09:38
    课时32回归分析绘图08:53
    课时33多变量分析绘图10:36
    课时34分类属性绘图09:40
    课时35Facetgrid使用方法08:50
    课时36Facetgrid绘制多变量08:30
    课时37热度图绘制14:19
    章节6:线性回归算法原理推导
    课时38线性回归算法概述14:24
    课时39误差项分析11:33
    课时40似然函数求解09:36
    课时41目标函数推导09:22
    课时42线性回归求解10:57
    章节7:梯度下降策略
    课时43梯度下降原理11:42
    课时44梯度下降方法对比07:20
    课时45学习率对结果的影响06:09
    章节8:逻辑回归算法
    课时46逻辑回归算法原理推导10:52
    课时47逻辑回归求解14:59
    章节9:案例实战:Python实现逻辑回归与梯度下降策略
    课时48Python实现逻辑回归任务概述07:34
    课时49完成梯度下降模块12:51
    课时50停止策略与梯度下降案例10:55
    课时51实验对比效果10:25
    章节10:项目实战-交易数据异常检测
    课时52案例背景和目标08:32
    课时53样本不均衡解决方案10:18
    课时54下采样策略06:36
    课时55交叉验证13:03
    课时56模型评估方法13:06
    课时57正则化惩罚08:09
    课时58逻辑回归模型07:37
    课时59混淆矩阵08:53
    课时60逻辑回归阈值对结果的影响10:01
    课时61SMOTE样本生成策略15:51
    章节11:决策树算法
    课时62决策树原理概述12:25
    课时63衡量标准-熵11:04
    课时64决策树构造实例10:09
    课时65信息增益率05:49
    课时66决策树剪枝策略15:31
    章节12:案例实战:使用sklearn构造决策树模型
    课时67决策树复习08:55
    课时68决策树涉及参数11:09
    课时69树可视化与sklearn库简介18:14
    课时70sklearn参数选择11:46
    章节13:集成算法与随机森林
    课时71集成算法-随机森林12:03
    课时72特征重要性衡量13:51
    课时73提升模型11:15
    课时74堆叠模型07:09
    章节14:案例实战:泰坦尼克获救预测
    课时75船员数据分析11:02
    课时76数据预处理11:39
    课时77使用回归算法进行预测12:13
    课时78使用随机森林改进模型13:25
    课时79随机森林特征重要性分析15:55
    章节15:贝叶斯算法
    课时80贝叶斯算法概述06:58
    课时81贝叶斯推导实例07:38
    课时82贝叶斯拼写纠错实例11:46
    课时83垃圾邮件过滤实例14:10
    课时84贝叶斯实现拼写检查器12:21
    章节16:Python文本数据分析:新闻分类任务
    课时85文本分析与关键词提取12:11
    课时86相似度计算11:44
    课时87新闻数据与任务简介10:20
    课时88TF-IDF关键词提取13:28
    课时89LDA建模09:10
    课时90基于贝叶斯算法进行新闻分类14:53
    章节17:支持向量机
    课时91支持向量机要解决的问题10:06
    课时92距离与数据的定义10:33
    课时93目标函数09:41
    课时94目标函数求解11:27
    课时95SVM求解实例13:45
    课时96支持向量的作用11:53
    课时97软间隔问题06:46
    课时98SVM核变换16:52
    章节18:案例:SVM调参实例
    课时99sklearn求解支持向量机11:24
    课时100SVM参数选择14:00
    章节19:聚类算法-Kmeans
    课时101KMEANS算法概述11:34
    课时102KMEANS工作流程09:42
    课时103KMEANS迭代可视化展示08:20
    课时104使用Kmeans进行图像压缩07:58
    章节20:聚类算法-DBSCAN
    课时105DBSCAN聚类算法11:04
    课时106DBSCAN工作流程15:03
    课时107DBSCAN可视化展示08:52
    章节21:案例实战:聚类实践
    课时108多种聚类算法概述04:34
    课时109聚类案例实战17:19
    章节22:降维算法-PCA主成分分析
    课时110PCA降维概述08:39
    课时111PCA要优化的目标12:22
    课时112PCA求解10:18
    课时113PCA实例08:34
    章节23:神经网络
    课时114初识神经网络11:28
    课时115计算机视觉所面临的挑战09:40
    课时116K近邻尝试图像分类10:01
    课时117超参数的作用10:31
    课时118线性分类原理09:35
    课时119神经网络-损失函数09:18
    课时120神经网络-正则化惩罚项07:19
    课时121神经网络-softmax分类器13:39
    课时122神经网络-最优化形象解读06:47
    课时123神经网络-梯度下降细节问题11:49
    课时124神经网络-反向传播15:17
    课时125神经网络架构10:11
    课时126神经网络实例演示10:39
    课时127神经网络过拟合解决方案15:54
    课时128感受神经网络的强大11:30
    章节24:Xgboost集成算法
    课时129集成算法思想05:35
    课时130xgboost基本原理11:07
    课时131xgboost目标函数推导12:18
    课时132xgboost求解实例11:29
    课时133xgboost安装03:32
    课时134xgboost实战演示14:44
    课时135Adaboost算法概述13:01
    章节25:自然语言处理词向量模型-Word2Vec
    课时136自然语言处理与深度学习11:58
    课时137语言模型06:16
    课时138-N-gram模型08:32
    课时139词向量09:28
    课时140神经网络模型10:03
    课时141Hierarchical Softmax10:01
    课时142CBOW模型实例11:21
    课时143CBOW求解目标05:39
    课时144梯度上升求解10:11
    课时145负采样模型07:15
    章节26:使用Gensim库构造中文维基百度数据词向量模型
    课时146使用Gensim库构造词向量06:22
    课时147维基百科中文数据处理10:27
    课时148Gensim构造word2vec模型08:52
    课时149测试模型相似度结果07:42
    章节27:scikit-learn模型建立与评估
    课时150使用python库分析汽车油耗效率15:09
    课时151使用scikit-learn库建立回归模型14:02
    课时152使用逻辑回归改进模型效果13:12
    课时153 模型效果衡量标准20:09
    课时154ROC指标与测试集的价值14:31
    课时155交叉验证15:15
    课时156多类别问题15:52
    章节28:Python库分析科比生涯数据
    课时157Kobe Bryan生涯数据读取与简介07:45
    课时158特征数据可视化展示11:41
    课时159数据预处理12:32
    课时160使用Scikit-learn建立模型10:12
    章节29:Python时间序列分析
    课时161章节简介01:03
    课时162Pandas生成时间序列11:28
    课时163Pandas数据重采样09:22
    课时164Pandas滑动窗口07:47
    课时165数据平稳性与差分法11:10
    课时166ARIMA模型10:34
    课时167相关函数评估方法10:46
    课时168建立ARIMA模型07:48
    课时169参数选择12:40
    课时170股票预测案例09:57
    课时171使用tsfresh库进行分类任务12:04
    课时172维基百科词条EDA14:30
    章节30:机器学习项目实战-贷款申请最大化利润
    课时173数据清洗过滤无用特征12:08
    课时174数据预处理10:12
    课时175获得最大利润的条件与做法13:26
    课时176预测结果并解决样本不均衡问题12:47
    章节31:机器学习项目实战-用户流失预警
    课时177数据背景介绍06:35
    课时178数据预处理10:05
    课时179尝试多种分类器效果08:32
    课时180结果衡量指标的意义19:50
    课时181应用阈值得出结果06:26
    章节32:探索性数据分析-足球赛事数据集
    课时182内容简介02:13
    课时183数据背景介绍10:30
    课时184数据读取与预处理13:09
    课时185数据切分模块14:42
    课时186缺失值可视化分析13:27
    课时187特征可视化展示12:23
    课时188多特征之间关系分析11:21
    课时189报表可视化分析10:38
    课时190红牌和肤色的关系17:16
    章节33:探索性数据分析-农粮组织数据集
    课时191数据背景简介11:05
    课时192数据切片分析17:26
    课时193单变量分析15:21
    课时194峰度与偏度11:37
    课时195数据对数变换09:43
    课时196数据分析维度06:55
    课时197变量关系可视化展示12:22
    章节34:机器学习项目实战-HTTP日志聚类分析
    课时198建立特征工程17:25
    课时199特征数据预处理10:34
    课时200应用聚类算法得出异常IP

    系列七:145课时带你完完全全成为Python数据分析师
    章节1: 如何七周成为数据分析师
    课时1:为什么需要七周 免费 16:46
    课时2:七周应该怎么学 免费 10:22
    章节2: 第一周:数据分析思维
    课时3:为什么思维重要 02:30
    课时4:数据分析的三种核心思维(结构化) 26:34
    课时5:数据分析的三种核心思维(公式化) 19:17
    课时6:数据分析的三种核心思维(业务化) 14:01
    课时7:数据分析的思维技巧(象限法) 04:37
    课时8:数据分析的思维技巧(多维法) 05:47
    课时9:数据分析的思维技巧(假设法) 07:36
    课时10:数据分析的思维技巧(指数法) 18:23
    课时11:数据分析的思维技巧(二八法) 03:24
    课时12:数据分析的思维技巧(对比法) 04:54
    课时13:数据分析的思维技巧(漏斗法) 01:28
    课时14:如何在业务时间锻炼数据分析思维 09:16
    章节3: 第二周:业务
    课时15:为什么业务重要 02:59
    课时16:经典的业务分析指标 11:47
    课时17:市场营销指标 08:54
    课时18:产品运营指标 16:23
    课时19:用户行为指标 06:24
    课时20:电子商务指标 04:06
    课时21:流量指标 07:34
    课时22:怎么生成指标 04:37
    课时23:如何建立业务分析框架 01:15
    课时24:市场营销模型 04:51
    课时25:AARRR模型 06:05
    课时26:用户行为模型 04:09
    课时27:电子商务模型 02:49
    课时28:流量模型 04:00
    课时29:如何应对各类业务场景 04:15
    课时30:如何应对各类业务场景(小练习) 18:02
    课时31:数据化管理业务 02:02
    章节4: 第三周:Excel
    课时32:为什么要学习Excel 07:18
    课时33:文本清洗函数 07:35
    课时34:常见的文本清洗函数练习 13:35
    课时35:关联匹配函数 13:57
    课时36:逻辑运算函数 07:27
    课时37:计算统计函数 11:23
    课时38:时间序列函数 05:40
    课时39:Excel的常见技巧 09:23
    课时40:Excel工具(1) 06:50
    课时41:Excel工具(2) 08:16
    课时42:用Excel进行数据分析(1) 22:50
    课时43:用Excel进行数据分析(2) 18:11
    章节5: 第四周:数据可视化
    课时44:数据可视化之美 08:23
    课时45:常见的图表类型与应用 08:34
    课时46:高级图表类型与应用 09:38
    课时47:图表绘制 08:32
    课时48:Excel绘图技巧 10:55
    课时49:散点图 10:15
    课时50:辅助列 13:25
    课时51:复合图表 17:03
    课时52:甘特图(1) 14:45
    课时53:甘特图(2) 07:59
    课时54:标靶图 10:54
    课时55:杜邦分析法 25:21
    课时56:Power BI入门 13:17
    课时57:Power BI基础功能 21:14
    课时58:Power BI操作技巧 14:21
    课时59:用BI进行数据分析(1) 21:58
    课时60:用BI进行数据分析(2) 20:00
    课时61:Dashboard 15:55
    章节6: 第五周:MySQL
    课时62:MySQL安装 05:31
    课时63:数据库 13:06
    课时64:数据库实操 15:12
    课时65:SQL select 18:18
    课时66:SQL 条件查找 06:16
    课时67:SQL group by 05:38
    课时68:SQL group by 高级 13:00
    课时69:SQL 函数 10:45
    课时70:SQL 子查询 12:50
    课时71:SQL join 23:41
    课时72:SQL leetcode 15:50
    课时73:SQL 加载 05:33
    课时74:SQL 时间 05:48
    课时75:SQL 练习(1) 21:58
    课时76:SQL 练习(2) 18:13
    课时77:SQL 连接 power bi 09:59
    章节7: 第六周:统计学
    课时78:描述统计学 08:46
    课时79:分位数 08:15
    课时80:标准差 17:31
    课时81:权重统计 20:17
    课时82:切比雪夫 13:38
    课时83:箱线图 18:35
    课时84:直方图 21:28
    课时85:概率 13:22
    课时86:贝叶斯 18:49
    课时87:二项分布1 05:17
    课时88:二项分布2 05:21
    课时89:泊松分布 10:33
    课时90:正态分布 17:32
    课时91:假设检验 33:04
    章节8: 第七周:Python
    课时92:入门 12:25
    课时93:数据类型 17:57
    课时94:变量 07:17
    课时95:列表 16:04
    课时96:列表进阶 06:30
    课时97:字典 12:34
    课时98:集合 12:36
    课时99:控制流 10:53
    课时100:Python控制流循环 14:14
    课时101:Python循环进阶 07:28
    课时102:Python函数 16:41
    课时103:高阶函数 09:36
    课时104:第三方包 08:30
    课时105:numpy 08:38
    课时106:Python series 14:55
    课时107:dataframe 17:03
    课时108:Python dataframe查找 22:09
    课时109:read_csv 13:45
    课时110:计算 24:31
    课时111:Python groupby 12:00
    课时112:Python Pandas关联 20:21
    课时113:Python Pandas 多重索引 08:58
    课时114:Python Pandas 文本函数 06:17
    课时115:Python Pandas 去重 09:51
    课时116:Python Pandas apply 10:45
    课时117:Python Pandas 聚合 apply 10:26
    课时118:Python Pandas 数据透视 14:26
    课时119:Python 连接数据库 25:40
    课时120:Python连接数据库2 10:08
    课时121:Python 连接数据库3 07:40
    课时122:Python 练习 markdown 05:32
    课时123:Python 练习(1) 11:35
    课时124:Python 练习(2) 14:49
    课时125:Python 练习(3) 23:12
    课时126:Python 练习(4) 18:30
    课时127:Python 练习(5) 13:52
    课时128:Python 练习(6) 16:29
    课时129:Python 练习(7) 15:40
    课时130:Python 练习(8) 09:50
    课时131:Python 练习(9) 08:30
    课时132:Python 可视化(1) 07:45
    课时133:Python 可视化(2) 08:51
    课时134:Python 可视化(3) 06:57
    课时135:Python 可视化(4) 12:11
    课时136:Python 可视化(5) 06:30
    课时137:Python 可视化(6) 07:52
    课时138:Python 可视化(7) 14:20
    课时139:Python 可视化(8) 15:00
    课时140:Python seaborn 01 05:37
    课时141:Python seaborn 02 07:20
    课时142:Python seaborn 03 10:26
    课时143:Python Seaborn 04 10:44
    课时144:Python Seaborn 05 08:27
    课时145:Python seaborn 06 06:20

    系列八:大型Python数据分析实战教程从入门到精通(视频+源码+课件+作业)

    第一部分:数据思维导论:如何从数据中挖掘价值?

    第一章 数据能做什么?
    1.1 用数据认识世界
    1.2 用数据改变未来
    1.3 机器学习是什么?
    1.4 一条非典型性数据可视化之路

    第二章 课前入门指南
    2.1 软件安装及资料准备

    第二部分:基础语言入门:从零开始学习Python

    第一章 关于Python你需要知道的事儿
    1.1 为什么选择Python?
    1.2 集成开发环境及Python运行
    1.3 Jupyter Notebook 与 Spyder

    第二章 变量及数值类型
    2.1 数值类型概述
    2.2 认识变量
    2.3 算数运算
    2.4 逻辑运算
    2.5 注释#

    第三章 序列及通用操作
    3.1 可变序列/不可变序列概述
    3.2 可变序列/不可变序列通用操作
    3.3 列表list常用操作
    3.4 文本序列str常用操作

    第四章 字典映射
    4.1 字典dict基本概念
    4.2 字典的元素访问及遍历
    4.3 字典常用操作

    第五章 条件判断及循环语句
    5.1 什么是语句?
    5.2 条件判断:if语句
    5.3 循环语句:for / while 循环
    5.4 多重循环

    第六章 函数
    6.1 函数的基本概念及调用
    6.2 自定义函数
    6.3 局部变量及全局变量
    6.4 匿名函数Lambda

    第七章 模块与包
    7.1 什么是模块?
    7.2 模块创建及import指令运用
    7.3 “包”的概念及python包管理工具:pip
    7.4 windows环境下的代码运行

    第八章 数据读写
    8.1 文件对象声明及基本操作
    8.2 系统模块下的路径操作
    8.3 文件的读取与写入
    8.4 pickle模块的运用

    实战项目
    项目01 商铺数据加载及存储
    项目02 基于Python的算法函数创建

    第三部分:重点工具掌握:数据解析核心技巧
    第一章 科学计算工具:Numpy
    1.1 什么是Numpy?
    1.2 Numpy基础数据结构
    1.3 Numpy通用函数
    1.4 Numpy索引及切片
    1.5 Numpy随机数
    1.6 Numpy数据的输入输出

    第二章 数据分析工具:Pandas
    2.1 什么是Pandas?
    2.2 数据结构Series:基本概念及创建
    2.3 数据结构Series:索引及切片
    2.4 数据结构Series:基本技巧
    2.5 数据结构Dataframe:基本概念及创建
    2.6 数据结构Dataframe:索引及切片
    2.7 数据结构Dataframe:基本技巧
    2.8 时间模块
    2.9 时刻数据
    2.10 时间戳索引
    2.11 时期
    2.12 时间序列 – 索引及切片
    2.13 时间序列 – 重采样
    2.14 数值计算及统计基础
    2.15 文本数据
    2.16 合并
    2.17 连接及修补
    2.18 去重及替换
    2.19 数据分组
    2.20 分组转换
    2.21 透视表及交叉表
    2.22 文件读取

    第三章 图表绘制工具:Matplotlib
    3.1 Mtplotlib简介及图表窗口
    3.2 图表的基本元素
    3.3 图表的样式参数
    3.4 刻度、注解、图表输出
    3.5 子图
    3.6 基本图表绘制
    3.7 柱状图,堆叠图
    3.8 面积图,填图,饼图
    3.9 直方图
    3.10 散点图,矩阵散点图
    3.11 极坐标图
    3.12 箱型图
    3.13 表格样式创建
    3.14 表格显示控制
    3.15 表格样式调用

    第四章 空间分析工具:GIS
    4.1 什么是空间数据?
    4.2 GIS软件操作及数据加载
    4.3 坐标系
    4.4 空间数据基本处理
    4.5 空间数据几何计算
    4.6 空间数据可视化制图
    4.7 空间划分
    4.8 空间统计

    第五章 你必须知道的数据源
    5.1 国外公开数据
    5.2 国内公开数据
    5.3 城市数据团-数据库介绍

    实战项目
    项目03 知乎数据清洗整理和结论研究
    项目04 视频网站数据清洗整理和结论研究

    第四部分:进阶算法学习:统计分析能力强化
    第一章 数据特征分析
    1.1 分布分析
    1.2 对比分析
    1.3 统计分析
    1.4 帕累托分析
    1.5 正太性检测
    1.6 相关性分析

    第二章 数据处理
    2.1 缺失值处理
    2.2 异常值处理
    2.3 数据归一化
    2.4 数据连续属性离散化

    第三章 数学建模
    3.1 回归
    3.2 分类
    3.3 聚类
    3.4 蒙塔卡罗模拟

    实战项目
    项目05 多场景下的算法构建

    第五部分:数据表达逻辑:结果输出及内容美化
    第一章 数据可视化整体概述
    1.1 什么是数据可视化?
    1.2 数据可视化技术体系及方向
    1.3 数据图表表达的逻辑原理
    1.4 设计美学

    第二章 Python图表数据可视化:Seaborn
    2.1 为什么选择Seaborn做图表可视化?
    2.2 整体风格设置
    2.3 调色盘
    2.4 分布数据可视化 – 直方图与密度图
    2.5 分布数据可视化 – 散点图
    2.6 分类数据可视化 – 分类散点图
    2.7 分类数据可视化 – 分布图
    2.8 分类数据可视化 – 统计图
    2.9 线性关系数据可视化
    2.10 时间线图表、热图
    2.11 结构化图表可视化

    第三章 关系网络数据可视化:Gephi
    3.1 什么是关系网络图?
    3.2 Gephi软件安装及配置
    3.3 Gephi基本操作
    3.4 Python数据处理
    3.5 案例研究一:公司职工关系图表
    3.6 案例研究二:导演演员关系网络可视化

    第四章 空间数据可视化
    4.1 空间数据可视化工具概述
    4.2 3D图表
    4.3 空间柱状图(1)
    4.4 空间柱状图(2)
    4.5 空间线性轨迹图(1)
    4.6 空间线性轨迹图(2)
    4.7 空间热力图

    第五章 Python交互图表可视化:Bokeh
    5.1 什么是Bokeh及其可视化交互原理?
    5.2 绘图空间基本操作
    5.3 图表辅助参数设置
    5.4 散点图
    5.5 折线图 / 面积图
    5.6 柱状图 / 堆叠图 / 直方图
    5.7 绘图表达进阶操作
    5.8 ToolBar工具栏设置
    5.9 其他交互工具设置

    实战项目
    项目06 多场景下的图表可视化表达

    第六部分:数据挖掘项目实战
    实战项目
    项目07 城市餐饮店铺选址分析
    项目08 电商打折套路解析
    项目09 中国姓氏排行研究
    项目10 房价影响因素挖掘
    项目11 国产烂片深度揭秘
    项目12 中国城市资本流动问题探索
    项目13 社会财富分配问题模拟
    项目14 婚恋配对实验
    项目15 泰坦尼克号获救问题

    第七部分:游戏:数据时代的网络游戏设计与运营
    内容简介:在当下这个数据为王的时代,无论是产品设计还是运营决策,都需要倚重于数据。本课程从实际案例出发,就如何对游戏产生的海量数据进行分析,并应用于改进游戏的设计和指导运营策略进行讲解。

    第八部分:严选:用户增长实践经验分享
    内容简介:
    1、用户发展路径——从哪里来,到哪里去?
    2、基于用户的目标构建体系与目标管理——分析三板斧中的“对比”延伸;
    3、用户增长的“量”与“质”的平衡;
    4、用户增长的曲线路径——当用户增长乏力时该如何追求流水增长?

    第九部分:教育:如何高效构建业务指标体系
    内容简介:指标体系的搭建是数据分析工作中最基础也是最重要的能力,高效搭建符合业务的指标体系将会使后续数据分析工作事半功倍,该案例结合讲师教育相关的工作经历,深入浅出的讲解业务指标体系的构建思路及方法。

    第十部分:有数:数据平台在汽车行业中的应用
    内容简介:本课时会介绍有数这款企业级的敏捷分析平台,并通过几个真实的案例,介绍传统的汽车制造业如何利用有数快速从数据中发现业务问题,定位问题原因,找到解决问题的方法,从而获得业务增长。

    第十一部分:硅谷实战:消费者行为分析机器预测

    (a)介绍Longitudinal Data的概念以及其广泛的适用范围, 例如消费者行为预测,多只股票联合预测等。
    (b)消费者有历史行为数据, 我们既可以用一个用户本身的历史行为来预测该用户未来的行为,也可以用其他类似用户的行为来预测该用户的行为
    2、Longitudinal Data 的模型以及对消费者的应用
    (a)介绍混合模型的概念。
    (b)举实例说明如何利用混合模型来预测消费者行为。例如在电商中(亚马逊, Adobe, 沃尔玛等), 哪些消费者更有倾向购买本公司的产品,哪些客户可能在来年续订(取消)本公司的服务。
    3、模型的评估以及衡量
    (a)介绍ROC曲线的概念
    (b)评估分组建模和整体建模的优劣

    系列九:《2018东东老师教你数据分析师的核心能力素养技巧(视频+课件)》

    ─章节01: 一个本质的问题:数字、数据、数据分析与数据分析工作
    │ 1. 课程简介.mp4
    │ 2. 数字与数据.mp4
    │ 3. 数据与数据分析.mp4
    │ 4. 数据分析的本质.mp4

    ├─章节02: 一个有趣的现象:为什么叫数据分析部,不叫ESP部
    │ 6. 数据分析的价值是由作用而非技能决定.mp4
    │ 7. 不能解决问题的数据分析终被淘汰.mp4

    ├─章节03: 一个成长的难题:从掌握取数技能,到完成数据分析工作,还需要补充多少能力
    │ 10. 数据分析师需要的八大能力.mp4
    │ 11. 后续的课程介绍(重要、必看).mp4
    │ 8. 数据分析师在实战中常见难题.mp4
    │ 9. 数据分析师常犯错误.mp4

    ├─章节04: 能力一:收集信息能力
    │ 12. 什么是“业务”.mp4
    │ 13. 什么是“理解”业务.mp4
    │ 14. 不理解业务的恶果是什么.mp4
    │ 15. “模型”无法拯救,那个不理解业务的你.mp4
    │ 16. 优秀的数据分析师必须自己去理解业务1.mp4
    │ 17. 优秀的数据分析师必须自己去理解业务2.mp4
    │ 18. 理解业务的起点:了解最基础的业务形态.mp4
    │ 19. 理解业务的七步成诗法.mp4
    │ 20. 七步成诗法之一 ,最核心问题:业务模式.mp4
    │ 21. 七步成诗法 ,四大角色概览.mp4
    │ 22. 七步成诗法 之二,产品.mp4
    │ 23. 七步成诗法 之三,渠道.mp4
    │ 24. 七步成诗法 之四,用户.mp4
    │ 25. 七步成诗法 之五,运营.mp4
    │ 26. 七步成诗法 之六之七,组织架构与KPI.mp4
    │ 27. 应用七步成诗法,所必需的信息收集能力(在职版).mp4
    │ 28. 应用七步成诗法,所必需的信息收集能力(面试版).mp4
    │ 29. 小练习:入职后的沟通要点.mp4
    │ 30. 小练习:面试前的准备要点.mp4
    │ 31. 特别提醒:交流业务情况时的保密原则与谈话尺度微信.mp4

    ├─章节05: 能力二:沟通需求能力
    │ 32. 什么是:“数据需求”.mp4
    │ 33. 数据需求的基本规范.mp4
    │ 34. 只做数据需求永无出头之日.mp4
    │ 35. 什么是:“数据分析需求”.mp4
    │ 36. 数据分析需求的基本规范.mp4
    │ 37. 良好的沟通是成功的起点.mp4
    │ 38. 初级需求沟通:明确任务内容.mp4
    │ 39. 中级需求沟通:需求排班管理.mp4
    │ 40. 高级需求沟通:需求挖掘与升级.mp4
    │ 41. 当业务不理不睬的时候,主动引发需求.mp4
    │ 42. 特别提醒:有一类特殊需求叫模型.mp4
    │ 43. 实战指南:编排自己的需求管理表(针对已入职数据分.mp4
    │ 44. 实战指南:设计自己的数据需求表(针对未入职的准数据.mp4

    ├─章节06: 能力三:定义问题能力
    │ 45. 第一节:什么是“定义问题”.mp4
    │ 46. 第二节:什么是数据分析中的“定义问题”.mp4
    │ 47. 第三节:为什么“定义问题”很重要.mp4
    │ 48. 第四节:如何做到“清晰描述问题”.mp4
    │ 49. 第五节:如何划分问题边界及转化问题.mp4
    │ 50. 第六节:如何细分问题,构建思路.mp4
    │ 51. 第七节:如何确认输出形式,规划资源投入.mp4
    │ 52. 第八节:实战指南:如何在日常工作中锻炼定义问题的.mp4
    │ 53. 第九节:特别提示:职场上没有标准答案,只有符合需.mp4

    ├─章节07: 能力四:梳理流程能力
    │ 54. 什么是“梳理流程”.mp4
    │ 55. “梳理流程”与“指标体系”关系.mp4
    │ 56. “梳理流程”后,如何用“指标体系”进行分析.mp4
    │ 57. “梳理流程”,总结指标体系的基本方法.mp4
    │ 58. 什么是企业工作中的“梳理流程”.mp4
    │ 59. 战略级流程梳理-经营分析指标体系.mp4
    │ 60. 战术级流程梳理——业务部门指标体系.mp4
    │ 61. 战斗级流程梳理(1)——销售流程类指标构建.mp4
    │ 62. 战斗级流程梳理(2)——用户运营类指标体系.mp4
    │ 63. 战斗级流程梳理(3)——活动策划类指标体系.mp4
    │ 64. 战斗级流程梳理(4)——网络推广指标体系.mp4
    │ 65. 战斗级流程梳理(5)——商品管理类指标体系.mp4
    │ 66. 流程梳理中常见问题.mp4
    │ 67. 实战指南:如何梳理出自己的指标体系.mp4
    │ 68. 特别提示:关于《国家2025指标体系指导纲要》的问题.mp4

    ├─章节08: 能力五:定义标准的能力
    │ 69. 什么是“标准”.mp4
    │ 70. 好的“标准”符合哪些原则.mp4
    │ 71. 什么是“定义标准”.mp4
    │ 72. 什么是企业工作中的“定义标准”.mp4
    │ 73. 一维分类:平均法、分摊法、二八法,十分位法.mp4
    │ 74. 二维分类:象限法、矩阵法.mp4
    │ 75. 三维分类:RFM、杜邦分析法、漏斗分析法.mp4
    │ 76. 多维分类:归纳法与演绎法.mp4
    │ 77. 多维分类:综合评估的常见方法.mp4
    │ 78. 一维动态分类:趋势分析法.mp4
    │ 79. 多维动态分类:层层深入的逐级分析.mp4
    │ 80. 行为指标的分类:魔法数字与交叉表.mp4
    │ 81. 实战操练:如何从平庸的工作中总结数据标准.mp4
    │ 82. 坚决克服“指标”“标准”混为一谈的恶习!.mp4

    ├─章节09: 能力六:寻找原因的能力
    │ 83. 为什么我们那么喜欢问“为什么”.mp4
    │ 84. 寻找原因的基本方法.mp4
    │ 85. 企业中“寻找原因”问题.mp4
    │ 86. 甩锅的艺术——如何把原因归罪到别人头上.mp4
    │ 87. 分析思路示例——为什么销售业绩下降了!!!.mp4
    │ 88. 分析思路示例——为什么用户活跃下降了???.mp4
    │ 89. 分析思路示例——为什么用户都流失了???.mp4
    │ 90. 分析思路示例——为什么新用户越来越少???.mp4
    │ 91. 分析思路示例——为什么活动做了不见效???.mp4
    │ 92. 更广泛的分析思路——咨询顾问的独门秘籍.mp4
    │ 93. 实战操练:让你的原因分析无懈可击.mp4
    │ 94. 拒绝无脑,找经得起检验的原因.mp4

    ├─章节10: 能力七:提出建议的能力
    │ 100. 如何提解决方案,并评估问题方案的可行性.mp4
    │ 101. 如何从多个备选方案中选优.mp4
    │ 102. 利用业务假设预测问题未来情况.mp4
    │ 103. 利用算法预测问题未来情况.mp4
    │ 104. 如何在政治上给予老板有力支持.mp4
    │ 105. 实战操练,做一个完整的建议方案.mp4
    │ 106. 数据分析与业务的边界在哪里.mp4
    │ 95. 什么是靠谱建议.mp4
    │ 96. 如何推导出靠谱建议.mp4
    │ 97. 在企业里,常见的“给点建议”的要求有哪些.mp4
    │ 98. 如何清晰梳理待建议的问题.mp4
    │ 99. 如何提目标,并评估问题目标的可行性.mp4

    └─章节11: 能力八:总结汇报的能力
    107. 汇报中常范的错误.mp4
    108. 做好汇报需要考虑的三大要素.mp4
    109. 应付差事型汇报——操作规范及注意事项.mp4
    110. 引起注意型汇报——操作规范与注意事项.mp4
    111. 推动落地型汇报——操作规范与注意事项.mp4
    112. 争取认可型汇报——操作规范与注意事项.mp4
    113. 展示能力型汇报——操作规范与注意事项.mp4
    114. 一个经典的汇报例子.mp4
    115. 实战操练:同一份报告的三种不同形态.mp4
    116. 为什么常规的数据分析报告套路不管用.mp4

    获取资料Q 2844366079

    展开全文
  • Python 在解决数据科学任务和挑战方面继续处于领先地位。 目录 核心库 IPython NumPy SciPy Pandas StatsModels 可视化 Matplotlib Seaborn Plotly Bokeh Pydot 机器学习 Scikit-learn XGBoost / ...
  • 处理数据的 pandas,绘制可视图的 matplotlib,生成交互图的 bokeh,实现机器学习的 scikit-learn 等等,python 数据分析师早就能把这些工具用得出神入化了。 但今天呆鸟要和大家聊一聊 python 数据分析报告的痛点。...
  • 1 引言高效处理数据python工具:与外界进行交互:读写各种文件格式和数据库准备:对数据进行清理、修整、整合、规范化、重塑、切片切换、变形等处理以便进行分析转换:对数据集做一些数学和统计运算以产生新的数据...
  • 程序员之数据分析Python技术栈

    千次阅读 2017-04-30 22:04:13
    引言: Python是一种非常流行的脚本语言,其还提供了一个科学技术栈,可以进行快捷方便的数据分析,本系列文章将聚焦在如何使用基于Python的技术栈来构建数据分析的工具集合。工欲善其事,必先利其器,让我们来看看...
  • 展开全部我使用2113python这门语言也有三年了,被5261其4102简洁、易读、强...在数据分析和交互、探索性计算以及数据可视化等方面,相对于R、MATLAB、SAS、Stata等工具,Python都有其优势。近年来,由于Python库的...
  • Python数据分析入门与实践这是一个数据驱动的时代,想要从事机器学习、人工智能、数据挖掘等前沿技术,都离不开数据跟踪,本课程通过Numpy、Pandas进行数据科学计算,通过Seaborn、 Matplotlib进行数据图形化展示;...
  • 朋友做数据分析和数据挖掘知道有必要掌握Hadoop和Python。编写脚本和写作规范可以帮助我们节省时间和提高效率。今天,我们的众包平台办公会()编译python库相关数据分析每个人!使用Python库相关数据分析:NumPyNumPy是...
  • numpy创建矩阵:引入numpy库并生成矩阵import numpy as npa = np.array([[1,2,3],[4,5,6]])常用方法:矩阵元素个数 a.size矩阵形状 a.shape矩阵维度 a.ndim矩阵元素类型 a.dtpye矩阵的加减乘除 。np.dot(x,y)...
  • (2)主要用于交互数据并行处理,是分布式计算的基础架构 (3) 提供了一个类似于Mathematica的HTML笔记本,一个基于Qt框架的GUI控制台,具有绘图、多行编辑以及语法高亮。 2.Numpy数据分析——科学计算的基础...
  • adjlist(G,'G.adjlist') node_node_weight.txt 中的数据格式如下:(是连接的节点对,有权无权都可以) 1022055 902435 1 902435 773623 1 773623 681831 1 681831 603438 1 603438 1545447 1 1545447 1358790 ...
  • Python数据分析实战(1)数据分析概述

    千次阅读 多人点赞 2020-08-23 21:51:03
    成为数据分析师必须具备多种技能,利用好Python等工具。Python有多个版本;根据不同系统安装;需要添加环境变量;需要安装pip;可以选择PyCharm开发。Anaconda是科学计算工具;安装后会附带很多工具;conda是包管理...
  • python数据分析框架

    千次阅读 2020-01-05 10:58:23
    1、NumPy是python语言的一个扩充程序库,集成了基本的线性代数函数、高级的随机数功能以及傅里叶变换,在数组运算方面提供了很多函数库,并支持大规模数据的纬度以及矩阵运算。 2、Scipy是构建在NumPy的基础之上的,...
  • NumPyNumPy(Numerical Python的简称)是Python科学计算的基础包。它提供了以下功能(不限于此):快速高效的多维数组对象ndarray。...成熟的C API, 用于Python插件和原生C、C++、Fortran代码访问NumPy的数据结构...
  • Python 气象数据分析

    万次阅读 多人点赞 2017-03-31 19:40:07
    我们在实验过程中先会运用 Python 中matplotlib库的对数据进行图表化处理,然后调用 scikit-learn 库当中的的 SVM 库对数据进行回归分析,最终在图表分析的支持下得出我们的结论。 1.1 课程来源 本课程基于 ...
  • Python数据分析

    2019-06-25 15:09:53
    python基础知识 ...代表无限大数据流 迭代器是生成器,调用next计算下一个,直到异常) # 迭代器(generator):yield 和(i for i in range(10),调用next计算下一个,直到异常) # iterable 可迭...
  • 今天整理了几个在使用python进行数据分析的常用小技巧、命令。记得搭配Pandas+Jupyter Notebook使用哦。01 使用Pandas Profiling预览数据这个神器我们在之前的文章中就详细讲过,使用Pandas Profiling可以在进行数据...
  • 1. python数据结构:矩阵,数组,数据框,通过关键列相互联系的多个表(SQL主键,外键),时间序列2. python 解释型语言,程序员时间和CPU时间衡量,高频交易系统3. 全局解释器锁GIL, Global Interpreter Lock...
  • Python在处理各种数据时,利用图表 PyEcharts 将其可视化,提供直观、交互丰富、可高度个性化定制的数据可视化图表。以下是基于 Python3 的 PyEcharts 之 Treemap(矩形树图) 图表可视化Demo的基础代码和视频演示。...
  • 如果你使用pandas,并制作一个数据,如果你输入4行数,和数字1,2,3,4,5,6,7,8,9,10,12,13,14,15,16.下面的脚本import pandas as pdn = int(input("Enter the number of rows in a matrix: "))a = [[0]...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,894
精华内容 4,357
热门标签
关键字:

交互数据生成矩阵python

python 订阅