小编Jac*_*ack的帖子

使用DataFrame.plot在堆叠的条形图中显示总计和百分比

我的数据框如下所示:

  Airport  ATA Cost  Destination Handling  Custom  Total Cost
0     PRG    599222                 11095   20174      630491
1     LXU    364715                 11598   11595      387908
2     AMS    401382                 23562   16680      441623
3     PRG    599222                 11095   20174      630491 
Run Code Online (Sandbox Code Playgroud)

使用下面的代码,它给出了堆积的条形图:

df = df.iloc[:, 0:4]    
df.plot(x='Airport', kind='barh', stacked=True, title='Breakdown of Costs', mark_right=True)    
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

如何在每个堆叠的条形图上添加总计(以千分之千为单位)?如何为%堆叠条形图中的每个细分添加?

python matplotlib pandas

4
推荐指数
1
解决办法
7297
查看次数

Pandas -- 将值从一列映射到另一列

下面我有一个数据帧,显示每辆车 (Vehicle_ID) 将如何以特定序列 (Pos_in_route) 访问不同的地方 (place_id)。

place_id    Lat      Lon      Vehicle_ID    Pos_in_route
    0   51.4457678  -0.45613      0           0
    1   52.497911   -1.903832     0           1
    2   52.332395   -1.346753     0           2
    0   51.4457678  -0.45613      0           3
    0   51.4457678  -0.45613      1           0
    4   52.110728   -0.463547     1           1
    3   52.276323   -1.579845     1           2
    5   52.423667   -0.609697     1           3
    0   51.4457678  -0.45613      1           4
Run Code Online (Sandbox Code Playgroud)

现在,我试图根据列 (Pos_in_route) 添加另外两列以显示先前访问过的地点 (prior_lat,prior_lon) 的 GPS 坐标。如果没有位置的先前位置,它将是它自己(即 place_id = 0)

    place_id    Lat      Lon      Vehicle_ID    Pos_in_route   prior_lat    prior_lon
        0   51.4457678  -0.45613    0           0              51.4457678   -0.45613 …
Run Code Online (Sandbox Code Playgroud)

python pandas

3
推荐指数
1
解决办法
3237
查看次数

Plotly:如何避免巨大的 html 文件大小

我有一个 3D 装箱模型,它使用绘图来绘制输出图。我注意到绘制了 600+ 个项目,生成 html 文件需要很长时间,文件大小为 89M,这太疯狂了(我怀疑可能存在一些巨大的重复,或者由 \xe2\x80\x9cadd_trace\ 引起) xe2\x80\x9d 方法来绘制单个项目图)。为什么它会产生这么大的文件?如何将大小控制在可接受的水平(不超过 5M,因为我需要在我的网站中渲染它)。非常感谢您的帮助。

\n

在此输入图像描述

\n

下面是我的完整代码(请跳过模型代码并从绘图代码中查看)

\n
from py3dbp import Packer, Bin, Item, Painter\nimport time\nimport plotly.graph_objects as go\nfrom plotly.subplots import make_subplots\nimport plotly\nimport pandas as pd\n\nstart = time.time()\nimport numpy as np\n\n# -----------this part is about calculating the 3D bin packing problem to get x,y,z for each items of a bin/container--------------\n###library reference: https://github.com/jerry800416/3D-bin-packing\n\n# init packing function\npacker = Packer()\n#  init bin\n# box = Bin(\'40HC-1\', (1203, 235, 259), 18000.0,0,0)\nbox = Bin(\'40HC-1\', (1202.4, 235, 269.7), …
Run Code Online (Sandbox Code Playgroud)

python plotly

3
推荐指数
1
解决办法
4531
查看次数

设施位置 - 最小化为有距离限制的客户提供服务的设施的算法

例如,我有 1000 个客户位于欧洲,不同纬度和经度。我想找到可以为所有客户提供服务的最少设施数量,受限于必须在 24 小时交付内为每个客户提供服务(这里我使用从设施到客户的最大允许运输距离作为确保 24 小时交付的约束)服务(距离是两个位置之间的直线,根据欧几里德距离/直线计算)。

因此,对于每个只能为特定距离(例如 600 公里)内的客户提供服务的仓库,有什么算法可以帮助我找到为所有客户提供服务所需的最少设施数量,以及它们各自的纬度和经度。下面的附图显示了一个示例。

查找最小仓库及其位置的示例

查找最小仓库及其位置的示例

algorithm optimization logistics

2
推荐指数
1
解决办法
3105
查看次数

基于代理的仿真:为什么Netlogo的运行速度比基于Java的Repast快得多

大家都说Jave是用于大型系统和工程项目的语言,它的运行速度比大多数其他语言都要快得多。我只是将其与另一种基于Agent的建模语言-Netlogo进行了比较,发现Netlog在经典的狼羊模拟模型中比基于Jave的Repast快四倍。两种模型都使用相同的参数进行仿真,并实时运行5秒钟。Netlogo可以模拟8000多个时间步长,而Jave Repast只能执行2600多个时间步长。为什么?

在此处输入图片说明

agent-based-modeling netlogo repast-simphony

2
推荐指数
1
解决办法
93
查看次数

NetLogo-如何将时间转换为数字?

我正在根据实际运营数据对生产计划进行建模。数据为我提供了轮班时间表,如下所示:

shift_start shift_end
0:10    4:00
4:00    6:00
8:00    11:00
11:00   13:30
13:30   17:00
18:30   23:30
Run Code Online (Sandbox Code Playgroud)

或其他格式为:

shift_start shift_end
0100    0400
0400    0600
0800    1100
1100    1330
1330    1700
1830    2330
Run Code Online (Sandbox Code Playgroud)

但是,这两种都不是从netlogo ticks函数中读取的好格式。如何将时间格式自动更改为如下所示的数字:

shift_start shift_end
10     240
240    360
480    660
660    810
810    1020
1110   1410
Run Code Online (Sandbox Code Playgroud)

还是netlogo中有内置功能支持时间读取?

整个数据集如下所示((项目5是班次开始时间,项目6是结束时间))我正在使用csv扩展方法读取整个集合

028W    028W0410    IB  0   1   250 360 0.48    2.78    14.98
028W    028W0800    IB  0   1   480 660 0.54    3.1 18.43
028W    028W1200    IB&OB   0.5 0.5 720 870 0.51    2.58    13.89
028W    028W1430 …
Run Code Online (Sandbox Code Playgroud)

time netlogo

0
推荐指数
1
解决办法
51
查看次数

Plotly - 如何绘制圆柱体?

我有一个使用 matplotlib 绘制圆柱体的函数。 在此输入图像描述

我想知道如何使用情节来做同样的事情?

下面是我绘制圆柱体的 matplotlib 函数:

        #function to plot the cylinder
        def _plotCylinder(self, ax, x, y, z, dx, dy, dz, color='red',mode=2):
            """ Auxiliary function to plot a Cylinder  """
            # plot the two circles above and below the cylinder
            p = Circle((x+dx/2,y+dy/2),radius=dx/2,color=color,ec='black')
            p2 = Circle((x+dx/2,y+dy/2),radius=dx/2,color=color,ec='black')
            ax.add_patch(p)
            ax.add_patch(p2)
            art3d.pathpatch_2d_to_3d(p, z=z, zdir="z")
            art3d.pathpatch_2d_to_3d(p2, z=z+dz, zdir="z")
            # plot a circle in the middle of the cylinder
            center_z = np.linspace(0, dz, 15)
            theta = np.linspace(0, 2*np.pi, 15)
            theta_grid, z_grid=np.meshgrid(theta, center_z)
            x_grid = dx …
Run Code Online (Sandbox Code Playgroud)

python plotly

0
推荐指数
1
解决办法
1361
查看次数