【发布时间】:2020-08-14 15:03:03
【问题描述】:
抱歉,我是 python Pandas 的新手,因此我可能没有以正确的方式思考。
以下数据框显示了计算出的 2 个列表的每个值之间的距离。假设这两个列表包含 100 个值,那么 Dataframe 由计算出的 100*100 距离组成。
Dataframe 如下所示:
Columns Place A ... Place Z
Rows ...
Place 1 1203.899830 ... 612.069576
39 496.571302 ... 173.808444
46 1061.913143 ... 488.477587
48 978.166934 ... 412.830790
57 1008.997612 ... 595.226911
... ... ... ...
20675 1705.383726 ... 1233.132858
20676 1562.641365 ... 962.671417
20678 433.199056 ... 451.470780
20679 112.586538 ... 720.512590
Place 20680 53.794611 ... 681.927796
[4068 rows x 179 columns]
我希望在 Place A 到 Z 下列出小于 100 公里的每个地点(1 到 20680)。因此,必须为每一列单独应用 100 公里过滤器。
例如,地点 1 距离地点 A 1200 公里,因此它不应出现在“地点 1”列中。 Place 39 距离 Place X 仅 30 公里,因此 Place 39 应该出现在“Place X”列中。
换句话说,
到目前为止,我只为一列完成了它,但我想为每一列都实现它:
Input: Index_label = df_dist_matrix[df_dist_matrix['Place A']< 100].index.tolist()
print(Index_label)
Output:
[175, 252, 379, 398, 455, 486, 523,....., Place 20680]
非常感谢您的帮助,谢谢!
【问题讨论】:
-
你的数据框在不同的列上不能有不一致的大小,所以你可能需要做的是用
NaNs填充你想要删除的值 -
其实很好,谢谢!我设法过滤了
标签: python pandas dataframe filter