Python-如何从多索引数据框中选择行

标签 python python-3.x pandas

我目前有一个数据框,其中每一行都由一个物理 3d 坐标索引。以下是数据的示例:

            ind pos
x   y   z       
1.0 8.0 2.0 0   (52.3311, 240.997, 70.7449)
        2.0 1   (54.8969, 241.985, 72.116)
        2.0 2   (51.9996, 240.91, 73.2884)
        2.0 3   (51.765, 240.269, 71.5289)
        2.0 4   (53.5773, 243.276, 69.569)
        2.0 5   (53.1426, 240.779, 71.912)

我想选择任何坐标 (x,y,z) 等于某个值的所有条目。最有效的方法是什么?我有一个相当大的数据集(约 300 万个条目),我想选择其中任何 x、y 或 z 等于值 33 的所有行。

最佳答案

应该这样做:

df[1.0,8.0,2.0] 

还有 xs 帮助您管理多索引:

df.xs(('1.0', '8.0', '2.0')) 

PS:引号是为了防止你的索引是字符串而不是 float

关于Python-如何从多索引数据框中选择行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51390164/

相关文章:

python - 使用 AppEngine bulkloader 加载 db.ListProperty()

python - 从 python 打开 .dot 格式的图形

python - 使用 PIL 将 PNG32 转换为 PNG8,同时保留透明度

python - 将 numpy 数组值从零更改为 -1

python - 如何将 Excel 文件编码为 base64

python - Django 中 undefined variable

python-3.x - 如何将大型数据库中的数据加载到 pandas 中?

python - 正确的方法是使用类型提示/泛型来描述类型类 ("type"的参数)

python - Pandas - KeyError : columns not in index

python - Geopandas 旋转功能