opp*_*yer 4 python arrays numpy slice pandas
我有以下数据框,可以将其复制/粘贴并制作为数据框: df = pd.read_clipboard()
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 0 1 5 12 13 7 1 5 5 1 7 13 12 5 1 0
1 1 0 4 13 12 6 0 4 4 0 6 12 13 4 0 1
2 5 4 0 9 8 2 4 0 0 4 2 8 9 0 4 5
3 12 13 9 0 1 11 13 9 9 13 11 1 0 9 13 12
4 13 12 8 1 0 10 12 8 8 12 10 0 1 8 12 13
5 7 6 2 11 10 0 6 2 2 6 0 10 11 2 6 7
6 1 0 4 13 12 6 0 4 4 0 6 12 13 4 0 1
7 5 4 0 9 8 2 4 0 0 4 2 8 9 0 4 5
8 5 4 0 9 8 2 4 0 0 4 2 8 9 0 4 5
9 1 0 4 13 12 6 0 4 4 0 6 12 13 4 0 1
10 7 6 2 11 10 0 6 2 2 6 0 10 11 2 6 7
11 13 12 8 1 0 10 12 8 8 12 10 0 1 8 12 13
12 12 13 9 0 1 11 13 9 9 13 11 1 0 9 13 12
13 5 4 0 9 8 2 4 0 0 4 2 8 9 0 4 5
14 1 0 4 13 12 6 0 4 4 0 6 12 13 4 0 1
15 0 1 5 12 13 7 1 5 5 1 7 13 12 5 1 0
Run Code Online (Sandbox Code Playgroud)
我想从中截取一个横截面,我想要这样的话:
[1, 4, 9, 1, 10, 6, 4, 0, 4, 6, 10, 1, 9, 4, 1])
即索引 df.loc[1, 0]、df.loc[2, 1]、df.loc[3, 2]、df.loc[4, 3] 等。
是否有 numpy 或 pandas 模式可以比我正在做的许多不同索引更容易地获得这种类型的交叉切片?谢谢。
我们可以使用np.diagonalwithoffset=1来选择主对角线上方的对角线元素
np.diagonal(df, offset=1)
Run Code Online (Sandbox Code Playgroud)
array([ 1, 4, 9, 1, 10, 6, 4, 0, 4, 6, 10, 1, 9, 4, 1])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
434 次 |
| 最近记录: |