我无法弄清楚以下问题:
选择放置在4X3阵列角落的元素。所选项目的行索引为check = self.env['model_name'].search([])
for i in check:
self.env.cr.execute("""where write_date<current_date
and write_date >=current_date - interval '1 day';
""",)
ab=self.env.cr.fetchone()
print(ab,"::::::::::::::")
和[0, 0]
,而列索引为[3, 3]
和[0, 2]
。我的代码正确执行但我想知道如何表示列。在NumPy中访问列的正确方法是什么?
[0, 2]
答案 0 :(得分:1)
我不太明白你想要什么。但也许这会有所帮助
In [79]: x = np.array([[ 0, 1, 2],[ 3, 4, 5],[ 6, 7, 8],[ 9, 10, 11]])
打印显示x
:
In [80]: x
Out[80]:
array([[ 0, 1, 2],
[ 3, 4, 5],
[ 6, 7, 8],
[ 9, 10, 11]])
使用高级索引进行角点选择:
In [81]: rows = np.array([[0,0],[3,3]])
...: cols = np.array([[0,2],[0,2]])
In [83]: x[rows, cols]
Out[83]:
array([[ 0, 2],
[ 9, 11]])
列的view
(参见文档)(最后一篇):
In [85]: x[:, 2]
Out[85]: array([ 2, 5, 8, 11])
行的view
:
In [86]: x[2, :]
Out[86]: array([6, 7, 8])
答案 1 :(得分:-1)
查看表示的一种方法是将数组转换为pandas DataFrame
pd.DataFrame(x)
输出
0 1 2
0 0 1 2
1 3 4 5
2 6 7 8
3 9 10 11
第一行只有三个元素是列索引,第一列有4个元素是行索引。这是对您的代码的替代
rows= [0,3]
columns= [0,2]
for i in itertools.product(rows, columns):
print(x[i])