我正在尝试将此条件子句放入我的列表比较“arr”中。
arr = [[(i*n+j) for i in range(n)] for j in range(n)]
和
if ( 2*i<=j+i+1<=n+1 and i>0)
作为条件。我试着把这个:
- 在前面的三元组中有一个 else 语句: "" ,但这会在数组中产生不需要的元素。
-在我的 for 语句之后(我,j,甚至都尝试过)
关于如何在不增加太多复杂性的情况下进行计算的任何想法?
所需的示例输出:
from pandas import DataFrame as df
n = 5
arr= [NEEDS HELP HERE]
print(df(arr))
>>>
0 1 2 3 4
0 NaN 5 NaN NaN NaN
1 NaN 6 11.0 NaN NaN
2 NaN 7 12.0 17.0 NaN
3 NaN 8 13.0 NaN NaN
4 NaN 9 NaN NaN NaN
对于 n = 3
>>>
0 1 2
0 NaN 3 NaN
1 NaN 4 7.0
2 NaN 5 NaN
对于 n = 2
>>>
0 1
0 NaN 2
1 NaN 3
对于 n = 10(我的代码可以生成以下内容)
>>>
0 1 2 3 4 5 6 7 8 9
0 _ 10 _ _ _ _ _ _ _ _
1 _ 11 21 _ _ _ _ _ _ _
2 _ 12 22 32 _ _ _ _ _ _
3 _ 13 23 33 43 _ _ _ _ _
4 _ 14 24 34 44 54 _ _ _ _
5 _ 15 25 35 45 55 _ _ _ _
6 _ 16 26 36 46 _ _ _ _ _
7 _ 17 27 37 _ _ _ _ _ _
8 _ 18 28 _ _ _ _ _ _ _
9 _ 19 _ _ _ _ _ _ _ _
正如你所看到的,每个都应该产生一个 nxn 矩阵。(我可以用 np.NaN 替换每个“_”)
我将在下面发布解决方案。非常感谢所有的贡献。
慕莱坞森
慕森卡
梵蒂冈之花
相关分类