我有以下串列
import numpy as np
Y = [np.array([[1, 4, 7],
[2, 5, 8]]),
np.array([[10, 14, 18],
[11, 15, 19],
[12, 16, 20],
[13, 17, 21]]),
np.array([[22, 26, 31],
[24, 28, 33],
[26, 30, 35]])]
我想回圈并列印 Y 中所有陣列中的列。
我不知道如何訪問 Y 的列。Y[:,0]例如,運行不會給我
[[1]
[2]]
相反,它給了我以下錯誤
TypeError: list indices must be integers or slices, not tuple
我想列印 Y 中所有陣列的所有列,而不僅僅是第一個陣列的第一列。
uj5u.com熱心網友回復:
這有幫助嗎?
for i in range(3):
l = Y[i]
for j in range(len(np.transpose(l))):
print(l[:,j])
這給了你:
[1 2]
[4 5]
[7 8]
[10 11 12 13]
[14 15 16 17]
[18 19 20 21]
[22 24 26]
[26 28 30]
[31 33 35]
uj5u.com熱心網友回復:
你可以使用一個熊貓DataFrame 作為更高級別的結構而不是串列:
import pandas as pd
df = pd.concat(map(pd.DataFrame, Y), keys=range(len(Y)))
df.loc[(0,), 0]
輸出:
0 1
1 2
Name: 0, dtype: int64
df:
0 1 2
0 0 1 4 7
1 2 5 8
1 0 10 14 18
1 11 15 19
2 12 16 20
3 13 17 21
2 0 22 26 31
1 24 28 33
2 26 30 35
如果您不需要第二個索引級別,則其他選項:
df2 = pd.concat(map(pd.DataFrame, Y), keys=range(len(Y))).droplevel(1)
df2.loc[0, 0]
輸出:
0 1
0 2
Name: 0, dtype: int64
df2:
0 1 2
0 1 4 7
0 2 5 8
1 10 14 18
1 11 15 19
1 12 16 20
1 13 17 21
2 22 26 31
2 24 28 33
2 26 30 35
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/528668.html
標籤:Python麻木的numpy-ndarraynumpy 切片
上一篇:如何從Pandas的嵌套串列列中獲取最小值?為什么numpy.min()在numpy.mean()有效的情況下不起作用?
下一篇:如何在回圈中命令Ajax呼叫
