• 吴裕雄--天生自然 PYTHON数据分析:钦奈水资源管理分析


    df = pd.read_csv("F:\kaggleDataSet\chennai-water\chennai_reservoir_levels.csv")
    df["Date"] = pd.to_datetime(df["Date"], format='%d-%m-%Y')
    df.head()

    import datetime
    
    def scatter_plot(cnt_srs, color):
        trace = go.Scatter(
            x=cnt_srs.index[::-1],
            y=cnt_srs.values[::-1],
            showlegend=False,
            marker=dict(
                color=color,
            ),
        )
        return trace
    
    cnt_srs = df["POONDI"]
    cnt_srs.index = df["Date"]
    trace1 = scatter_plot(cnt_srs, 'red')
    
    cnt_srs = df["CHOLAVARAM"]
    cnt_srs.index = df["Date"]
    trace2 = scatter_plot(cnt_srs, 'blue')
    
    cnt_srs = df["REDHILLS"]
    cnt_srs.index = df["Date"]
    trace3 = scatter_plot(cnt_srs, 'green')
    
    cnt_srs = df["CHEMBARAMBAKKAM"]
    cnt_srs.index = df["Date"]
    trace4 = scatter_plot(cnt_srs, 'purple')
    
    subtitles = ["Water Availability in Poondi reservoir - in mcft",
                 "Water Availability in Cholavaram reservoir - in mcft",
                 "Water Availability in Redhills reservoir - in mcft",
                 "Water Availability in Chembarambakkam reservoir - in mcft"
                ]
    fig = tools.make_subplots(rows=4, cols=1, vertical_spacing=0.08,
                              subplot_titles=subtitles)
    fig.append_trace(trace1, 1, 1)
    fig.append_trace(trace2, 2, 1)
    fig.append_trace(trace3, 3, 1)
    fig.append_trace(trace4, 4, 1)
    fig['layout'].update(height=1200, width=800, paper_bgcolor='rgb(233,233,233)')
    py.iplot(fig, filename='h2o-plots')

    df["total"] = df["POONDI"] + df["CHOLAVARAM"] + df["REDHILLS"] + df["CHEMBARAMBAKKAM"]
    df["total"] = df["POONDI"] + df["CHOLAVARAM"] + df["REDHILLS"] + df["CHEMBARAMBAKKAM"]
    
    cnt_srs = df["total"]
    cnt_srs.index = df["Date"]
    trace5 = scatter_plot(cnt_srs, 'red')
    
    fig = tools.make_subplots(rows=1, cols=1, vertical_spacing=0.08,
                              subplot_titles=["Total water availability from all four reservoirs - in mcft"])
    fig.append_trace(trace5, 1, 1)
    
    
    fig['layout'].update(height=400, width=800, paper_bgcolor='rgb(233,233,233)')
    py.iplot(fig, filename='h2o-plots')

    rain_df = pd.read_csv("F:\kaggleDataSet\chennai-water\chennai_reservoir_rainfall.csv")
    rain_df["Date"] = pd.to_datetime(rain_df["Date"], format='%d-%m-%Y')
    
    rain_df["total"] = rain_df["POONDI"] + rain_df["CHOLAVARAM"] + rain_df["REDHILLS"] + rain_df["CHEMBARAMBAKKAM"]
    rain_df["total"] = rain_df["POONDI"] + rain_df["CHOLAVARAM"] + rain_df["REDHILLS"] + rain_df["CHEMBARAMBAKKAM"]
    
    def bar_plot(cnt_srs, color):
        trace = go.Bar(
            x=cnt_srs.index[::-1],
            y=cnt_srs.values[::-1],
            showlegend=False,
            marker=dict(
                color=color,
            ))
        return trace
    
    rain_df["YearMonth"] = pd.to_datetime(rain_df["Date"].dt.year.astype(str) + rain_df["Date"].dt.month.astype(str), format='%Y%m')
    
    cnt_srs = rain_df.groupby("YearMonth")["total"].sum()
    trace5 = bar_plot(cnt_srs, 'red')
    
    fig = tools.make_subplots(rows=1, cols=1, vertical_spacing=0.08,
                              subplot_titles=["Total rainfall in all four reservoir regions - in mm"])
    fig.append_trace(trace5, 1, 1)
    
    
    fig['layout'].update(height=400, width=800, paper_bgcolor='rgb(233,233,233)')
    py.iplot(fig, filename='h2o-plots')

    rain_df["Year"] = pd.to_datetime(rain_df["Date"].dt.year.astype(str), format='%Y')
    
    cnt_srs = rain_df.groupby("Year")["total"].sum()
    trace5 = bar_plot(cnt_srs, 'red')
    
    fig = tools.make_subplots(rows=1, cols=1, vertical_spacing=0.08,
                              subplot_titles=["Total yearly rainfall in all four reservoir regions - in mm"])
    fig.append_trace(trace5, 1, 1)
    
    
    fig['layout'].update(height=400, width=800, paper_bgcolor='rgb(233,233,233)')
    py.iplot(fig, filename='h2o-plots')

    temp_df = df[(df["Date"].dt.month==2) & (df["Date"].dt.day==1)]
    
    cnt_srs = temp_df["total"]
    cnt_srs.index = temp_df["Date"]
    trace5 = bar_plot(cnt_srs, 'red')
    
    fig = tools.make_subplots(rows=1, cols=1, vertical_spacing=0.08,
                              subplot_titles=["Availability of total reservoir water (4 major ones) at the beginning of summer"])
    fig.append_trace(trace5, 1, 1)
    
    
    fig['layout'].update(height=400, width=800, paper_bgcolor='rgb(233,233,233)')
    py.iplot(fig, filename='h2o-plots')

    结论:
    2004年的水资源短缺使维拉南湖成为城市供水的新途径。
    希望目前的缺水能为这个陷入困境的城市带来更多额外的水源。在过去的15年里,这个城市发展了很多,因此需要额外的水资源来满足需求。
    城市需要通过提前估计需求来设计更好的稀缺控制方法。现在,
    “只有下雨才能拯救这座城市!”
  • 相关阅读:
    [最短路径SPFA] POJ 1847 Tram
    [强连通分量] POJ 1236 Network of Schools
    [强连通分量] POJ 2762 Going from u to v or from v to u?
    [强连通分量] POJ 2186 Popular Cows
    [宽度优先搜索] HDU 1372 Knight Moves
    php错误级别和异常处理
    php配置优化
    魔术方法和魔术常量
    事务
    mysql备份和还原
  • 原文地址:https://www.cnblogs.com/tszr/p/11255475.html
Copyright © 2020-2023  润新知