代码之家  ›  专栏  ›  技术社区  ›  Datacrawler

过滤器,替换python plot中的组值

  •  1
  • Datacrawler  · 技术社区  · 6 年前

    原始数据帧

                 Country  Gender  Arr-Dep  Year  Value
    0            Austria    Male  IN  1974  13728
    1            Austria    Male  OUT  1974  17977
    2            Austria  Female  IN  1974   8541
    3            Austria  Female  OUT  1974   8450
    4            Austria   Total  IN  1974  22269
    5            Austria   Total  OUT  1974  26427
    6            Belgium    Male  IN  1974   2412
    7            Belgium    Male  OUT  1974   2800
    8            Belgium  Female  IN  1974   2105
    9            Belgium  Female  OUT  1974   2100
    10           Belgium   Total  IN  1974   4517
    

    作为开始 在我的代码中,我使用了以下库(在带有脱机绘图的Jupyter笔记本中):

    import pandas as pd
    import numpy as np
    import plotly as py
    import plotly.figure_factory as ff
    import plotly.graph_objs as go
    from IPython import display
    import os
    py.offline.init_notebook_mode()
    

    那么

    #Replace non numerical values from the Value column
    df1['Value'] = df1['Value'].replace('-', np.nan)
    
    #Groupby Country
    df1 = df1.groupby(['Year'], as_index=False)['Value'].sum()
    

    那么 ,我使用绘图创建图形:

    #Plot everything in a graph
    py.offline.iplot({
        "data": [go.Line(x=df1.Year,
                y=df1.Value)],
        "layout": go.Layout(title="Immigration through the years")
    }) 
    

    我的问题是。。。为了过滤/替换值,我可以改变创建图的最后一位吗 groupby

    1 回复  |  直到 6 年前
        1
  •  1
  •   code    6 年前

    你的方法似乎已经是正确和干净的方式!

    这两条线涉及 replace groupBy 是一个数据准备步骤。最后一步是可视化(或数据表示)步骤。将它们分开会使代码更具可读性!

    另外,这两条线涉及 分组