我想将3D数组转换成Pandas中的面板数据,但它给了我一个错误,因为“TypeError:object()不带参数”
d = {'A': ['i1', 'i2', 'i3', 'i4', 'i5', 'i5', 'i1', 'i1', 'i5', 'i4'], 'B': ['c7', 'c6', 'c3', 'c1', 'c4', 'c7', 'c1', 'c4', 'c1', 'c4'], 'C': [8.123, 11, 2, 5, 3, -1, 0.5123, -0.1123, 0.3, 2]}
df = pd.DataFrame(data=d)
df1 = df.pivot_table(index='A', columns='B', values='C')
arr = df1.to_numpy()
diff = abs(arr[:, None] - arr)
pnl=pd.Panel(data=diff)
print(pnl)
输出为:
Traceback (most recent call last):
File "C:/<Project_path>/Test", line 16, in <module>
pnl=pd.Panel(data=diff)
TypeError: object() takes no parameters
正如评论中所建议的,您应该/可以使用
MultiIndex
来存储您的3D数据:输出:
相关问题 更多 >
编程相关推荐