我在摆弄Pandas和numpy,有一个教程,我的课程从骰子求和两个数字。教程使用了pandas,但我也尝试使用numpy,然后比较了结果。
throws = 50
diepd = pd.DataFrame([1, 2, 3, 4, 5, 6])
dienp = np.array([1,2,3,4,5,6])
np.random.seed(1)
sum_np = [np.random.choice(dienp,2,True).sum() for i in range(throws)]
sum_pd = [diepd.sample(2, replace=True).sum().loc[0] for i in range(throws)]
compare = pd.DataFrame(data={'sum_np': sum_np, 'sum_pd': sum_pd})
compare
字符串
我有真实的的困难理解/操作多索引数据框架,所以作为一个额外的教训,我想学习如何创建一个与结果,比较他们的差异(因为我使用相同的种子)。
索引将只是50(1到抛出)抛出。索引标签、列将是:级别0:2列:numpy结果和pandas结果。
级别1:每列三列:两个人的投掷和总和。例如,np.random.choice(dienp,2,True)
和diepd.sample(2, replace=True
这两个值以及各自的和。
| | |Pandas|||||
| --|--|--|--|--|--| ------------ |
| 投掷1|投掷2|总和|投掷1|投掷2|总和| sum |
| 1|二个|三个|四|五|九| 9 |
| 二个|三个|五|六|1|七| 7 |
| 四|六|10个|五|二个|七| 7 |
有什么建议吗
2条答案
按热度按时间eit6fx6z1#
看看代码的方式,要获得每个骰子的值似乎是非常困难的,而不循环遍历它自己的行上的trows,并将值附加到嵌入到循环中的列表。我的解决方案是设置两个不同的表,然后将它们连接在一起。你可以在下面看到我的代码:
字符串
ljo96ir52#
这可以如下完成
字符串