- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我写了如下代码。我首先生成了大小为 3,5 的统一随机变量。然后我使用这个二维数组中的每个元素作为平均值并生成新列表。我想要做的是创建 10 个新的二维数组,同时使用相同形状 3,5 上列表中的每个元素。例如
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
mean_route1 = pd.DataFrame(np.random.uniform(0, 10, size=(3,5)))
print(mean_route1)
N=10
for m in np.nditer(mean_route1):
m3 = np.random.poisson(lam = m, size=N)
print(m3)
输出是这样的:
0 1 2 3 4
0 7.740569 5.435856 6.682996 5.213202 2.100649
1 6.174332 0.059057 2.951913 1.341994 2.734486
2 7.780503 7.277458 7.406986 8.498494 0.070157
[ 5 5 7 7 9 5 9 12 7 5]
[ 4 4 3 4 12 3 9 6 6 1]
[8 8 1 9 3 5 8 7 4 6]
[5 6 9 6 4 4 9 7 4 5]
[2 3 3 3 0 2 4 1 4 1]
[4 6 9 3 8 4 3 7 8 5]
[0 0 0 0 0 0 0 0 0 0]
[2 1 3 4 2 2 0 1 3 3]
[2 1 2 2 1 0 1 0 1 1]
[2 1 3 5 5 3 5 4 1 3]
[ 5 5 7 6 6 6 10 10 5 7]
[ 7 6 7 9 4 14 6 7 8 9]
[ 8 10 1 9 10 7 9 9 9 13]
[14 4 8 10 6 3 10 7 12 4]
[0 0 0 0 1 0 0 0 0 0]
例如:我接下来要做的是像这样的 10 个数组:( (:, 0) 列在新的第一个数组上。
0 1 2 3 4
0 5 4 8 5 2
1 4 0 2 2 2
2 5 7 8 14 0
(:, 1) 在新的第二个数组上,... , (:, 10) 在新的第 10 个数组上。
我该怎么做?我是 Python 和 stackoverflow 的新手,所以如果我有任何错误,我深表歉意。
最佳答案
忘记(暂时)数据帧,使用 numpy 我们可以做到:
In [87]: mean_route1 = np.random.uniform(0,10,size=15)
In [88]: alist = []
In [89]: for m in mean_route1:
...: alist.append(np.random.poisson(lam=m, size=10))
...:
In [90]: arr = np.array(alist)
In [91]: arr
Out[91]:
array([[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[ 4, 2, 3, 2, 6, 7, 3, 7, 7, 5],
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[ 7, 9, 8, 1, 6, 5, 6, 11, 6, 1],
[16, 7, 9, 6, 6, 11, 11, 16, 9, 12],
[ 3, 5, 2, 0, 2, 6, 4, 5, 3, 3],
[ 5, 5, 8, 7, 9, 10, 5, 10, 7, 8],
[ 5, 5, 4, 4, 2, 5, 1, 2, 1, 2],
[ 4, 2, 6, 7, 2, 6, 5, 0, 1, 4],
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[ 5, 5, 5, 4, 3, 2, 5, 7, 4, 5],
[ 1, 1, 1, 1, 2, 0, 2, 0, 1, 3],
[ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0],
[ 0, 0, 6, 1, 3, 2, 0, 1, 1, 2],
[ 9, 10, 10, 8, 9, 9, 9, 6, 12, 9]])
这是一个 (15,10) 形状数组,15 个 lam
值各有 10 个样本。如果您愿意,我们可以将其 reshape 为 (3,5,10),但这不会改变值。
In [92]: arr.reshape(3,5,10)
Out[92]:
array([[[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[ 4, 2, 3, 2, 6, 7, 3, 7, 7, 5],
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[ 7, 9, 8, 1, 6, 5, 6, 11, 6, 1],
[16, 7, 9, 6, 6, 11, 11, 16, 9, 12]],
[[ 3, 5, 2, 0, 2, 6, 4, 5, 3, 3],
[ 5, 5, 8, 7, 9, 10, 5, 10, 7, 8],
[ 5, 5, 4, 4, 2, 5, 1, 2, 1, 2],
[ 4, 2, 6, 7, 2, 6, 5, 0, 1, 4],
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]],
[[ 5, 5, 5, 4, 3, 2, 5, 7, 4, 5],
[ 1, 1, 1, 1, 2, 0, 2, 0, 1, 3],
[ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0],
[ 0, 0, 6, 1, 3, 2, 0, 1, 1, 2],
[ 9, 10, 10, 8, 9, 9, 9, 6, 12, 9]]])
通过从 (15,) 而不是 (3,5) 开始,我可以进行简单的迭代,而无需 nditer
的复杂性。 (我不鼓励使用 nditer
,除非你真的需要一些特殊的功能。它并不更快。)
我可以从那个 (3,5,10) 数组构造 10 个数据帧,循环如下:
In [94]: import pandas as pd
In [95]: for i in range(3):
...: print(pd.DataFrame(_92[:,:,i])) # Out[92] array
...:
0 1 2 3 4 # 1st column
0 0 4 0 7 16
1 3 5 5 4 0
2 5 1 0 0 9
0 1 2 3 4 # 2nd column
0 0 2 0 9 7
1 5 5 5 2 0
2 5 1 0 0 10
0 1 2 3 4
0 0 3 0 8 9
1 2 8 4 6 0
2 5 1 0 6 10
我可以一次用所有 mean_route1
值调用 poisson
:
In [97]: np.random.poisson(lam=mean_route1, size=(10,15))
Out[97]:
array([[ 0, 2, 0, 4, 11, 5, 9, 2, 8, 0, 10, 0, 0, 1, 5],
[ 0, 4, 0, 3, 9, 3, 11, 3, 4, 0, 4, 0, 2, 0, 7],
[ 0, 4, 0, 4, 6, 1, 7, 4, 2, 0, 5, 1, 0, 0, 5],
...
[ 0, 9, 0, 6, 12, 3, 3, 5, 3, 0, 6, 1, 1, 1, 6]])
或转置到我在 Out[91]
中得到的 (15,10):
In [98]: np.random.poisson(lam=mean_route1, size=(10,15)).T
Out[98]:
array([[ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0],
[ 1, 4, 5, 6, 7, 1, 6, 2, 0, 2],
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[ 4, 5, 4, 6, 3, 9, 1, 10, 3, 4],
....
[10, 8, 5, 13, 7, 10, 5, 10, 7, 9]])
或者使用 lam
的 (3,5) 数组:
In [100]: np.random.poisson(lam=mean_route1.reshape(3,5), size=(10,3,5))
Out[100]:
array([[[ 0, 1, 0, 2, 9],
[ 1, 7, 2, 6, 0],
[ 3, 0, 0, 1, 10]],
[[ 0, 5, 0, 7, 8],
[ 2, 6, 2, 8, 0],
[ 5, 2, 0, 1, 11]],
[[ 0, 7, 0, 7, 11],
[ 2, 7, 2, 4, 0],
[ 7, 1, 1, 1, 10]],
....
[ 7, 1, 1, 3, 12]]])
再次制作数据框,这次在第一个维度上迭代:
In [101]: for i in range(3):
...: print(pd.DataFrame(_100[i,:,:]))
...:
0 1 2 3 4
0 0 1 0 2 9
1 1 7 2 6 0
2 3 0 0 1 10
0 1 2 3 4
0 0 5 0 7 8
1 2 6 2 8 0
2 5 2 0 1 11
0 1 2 3 4
0 0 7 0 7 11
1 2 7 2 4 0
2 7 1 1 1 10
关于python - 将不同列表的特定元素合并到新列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57981782/
我有几个长度不等的 vector ,我想对其进行cbind。我将 vector 放入列表中,并尝试结合使用do.call(cbind, ...): nm <- list(1:8, 3:8, 1:5)
合并(合并)两个 JSONObjects 的最佳方式是什么? JSONObject o1 = { "one": "1", "two": "2", "three": "3" }
我在一个表中有许多空间实体,其中有一个名为 Boundaries 的 geometry 字段。我想生成一个具有简化形状/几何图形的 GeoJson 文件。 这是我的第一次尝试: var entitie
谁能说出为什么这个选择返回 3.0 而不是 3.5: SELECT coalesce(1.0*(7/2),0) as foo 这个返回 3: SELECT coalesce(7/2,0) as foo
首先抱歉,也许这个问题已经提出,但我找不到任何可以帮助我的东西,可能是因为我对 XSLT 缺乏了解。 我有以下 XML: 0 OK
有时用户会使用 Windows 资源管理器复制文件并在他们应该执行 svn 存储库级别的复制或合并时提交它们。因此,SVN 没有正确跟踪这些变化。一旦我发现这一点,损坏显然已经完成,并且可能已经对相关
我想组合/堆叠 2 个不同列的值并获得唯一值。 如果范围相邻,则可以正常工作。例如: =UNIQUE(FILTERXML(""&SUBSTITUTE(TEXTJOIN(",",TRUE,TRANSPO
使用iTextSharp,如何将多个PDF合并为一个PDF,而又不丢失每个PDF中的“表单字段”及其属性? (我希望有一个使用来自数据库的流的示例,但文件系统也可以) 我发现this code可以正常
是否有一个合并函数可以优先考虑公共(public)变量中的非缺失值? 考虑以下示例。 首先,我们生成两个 data.frames,它们具有相同的 ID,但在特定变量上有互补的缺失值: set.seed
我们正在尝试实现 ALM Rangers 在最新的 Visual Studio TFS Branching and Merging Guide 中描述的“基本双分支计划”。 .从指导: The bas
我在不同目录(3个不同名称)中有很多(3个只是一个例子)文本文件,如下所示: 目录:A,文件名:run.txt 格式:txt制表符分隔 ; file one 10 0.2 0.5 0.
我有一张包含学生等级关系的表: Student Grade StartDate EndDate 1 1 09/01/2009 NULL 2
我在学习 https://www.doctrine-project.org/projects/doctrine-orm/en/2.6/reference/working-with-associatio
我觉得我有世界上最简单的 SVN 用例: 我有一个文件,Test.java在 trunk SVN的。 我分行trunk至 dev-branch . 我搬家Test.java进入 com/mycompa
我有两个数据框,其中一些列名称相同,而另一些列名称不同。数据框看起来像这样: df1 ID hello world hockey soccer 1 1 NA NA
Elasticsearch 中是否缺少以扁平化形式(多个子/子aggs)返回结果的方法? 例如,当前我正在尝试获取所有产品类型及其状态(在线/离线)。 这就是我最终得到的: aggs [ { key:
如何合并如下所示的 map : Map1 = Map(1 -> Class1(1), 2 -> Class1(2)) Map2 = Map(2 -> Class2(1), 3 -> Class2(2)
我试图通过从netezza服务器导入数据来合并两个数据集。 以下是数据集,其数字为,ID为,字母为,名称为: 下表都是使用命令从netezza导入的: sqoop import --connect n
我有两个数组 $array1 = array('first', 'second', 'third', 'fourth'); $array2 = array('first', 'third', 'fou
我正在 SQL Server 中运行合并。在我的更新中,我只想在值发生更改时更新该行。有一个版本行在每次更新时都会递增。下面是一个例子: MERGE Employee as tgt USING (SE
我是一名优秀的程序员,十分优秀!