【发布时间】:2021-07-27 11:27:00
【问题描述】:
我有一个只包含数字的 pandas 数据框。
我想获取值 >= 1 的所有单元格的 (row_index, column_index) 列表。
我写了一个嵌套的for循环,但确实很慢。
res= []
for i in range (df.shape[0]):
for j in range (i+1, df.shape[0]):
if df.iloc[i,j] >= 1:
res.append ([i,j,df.iloc[i,j]])
有没有更快的方法来完成这项任务?矩阵是对称的,所以我只考虑数据帧的一半。
数据框:
1 2 0
0 0 1
0 1 0
预期输出:
0 0 1
0 1 2
1 2 1
2 1 1
预期输出的第一行(0 0 1)表示在第0行第0列,单元格值> = 1并且它是1。
【问题讨论】:
-
请与预期的输出共享数据框