【发布时间】:2021-01-31 03:53:35
【问题描述】:
我有以下数据:
import numpy as np
import pandas as pd
arr = np.array([0, 1, 2, 3, 4, 6, 7, 5])
x = pd.Series([0,1,2,3,4,6,7,0,1,2,3,4,6,7,0,1,2,3,4,6,7,0,1,2,3,4,5,7,0,1,2,3,4,6,7,0,1,2,3,4,6,7,0,1,2,3,4,6,7,0,1,2,3,4,6,7,0,1,2,3,4,6,7,0,1,2,3,4,6,7,0,1,0,1,2,3,4,6,7,0,1,2,3,4,6,7,0,1,2,3,4,6,7,0,1,2,3,4,6,7,0,1,0,1,2,3,4,6,7,0,1,2,3,4,6,7,0,1,2,3,4,6,7,0,1,2,3,4,6,7])
print(arr)
print(type(arr))
[0 1 2 3 4 6 7 5]
<class 'numpy.ndarray'>
下面的代码适用于上面的数据:
m = [[0] * len(arr) for _ in enumerate(arr)]
for (i, j) in zip(x, x[1:]):
m[i][j] += 1
但是,当数据如下:上面的代码会产生以下错误:
arr = np.arry([0, 1, 2, 3, 4, 6, 7])
x = pd.Series([0,1,2,3,4,6,7,0,1,2,3,4,6,7,0,1,2,3,4,6,7,0,1,2,3,4,6,7,0,1,2,3,4,6,7,0,1,2,3,4,6,7,0,1,2,3,4,6,7,0,1,2,3,4,6,7,0,1,2,3,4,6,7,0,1,2,3,4,6,7,0,1,2,3,4,6,7])
错误--
m[i][j] += 1 IndexError:列表索引超出范围 '''
【问题讨论】:
标签: python arrays pandas numpy zip