首页 > 解决方案 > 熊猫数据框 - 按字符串过滤/选择列是否保留顺序?

问题描述

我有一个用例,我说 10 个列,其中 5 个以字符串“Region”开头。我需要得到一个只包含这些列的结果数据框(以字符串'Region'开头)。不仅如此,我还需要确保订单被保留(例如,如果在原始 df 中,col 订单是'Region 1', 'Region 2', 'Region 3'-- 这应该被保留而不是导致'Region 3', 'Region 2', 'Region 1')。

遵循此问题的“已接受答案”会保留顺序还是有其他方法可以实现?

stackoverflow - 查找名称包含特定字符串的列

标签: pythonpandasstringdataframecontains

解决方案


是的,它会的。df.columns是一个列表,当您遍历列表时,您会保留列表的顺序。因此,您可以使用上述链接中的答案:

region_cols = [col for col in df.columns if 'Region' in col]

df[region_cols]- 将是您需要的df。


推荐阅读