我有一个用例,其中有10个列,其中5个以字符串“ Region”开头。我需要得到一个仅包含那些列的结果数据框(以字符串“ Region”开头)。不仅如此,我还需要确保保留顺序(例如,如果在原始df中,col顺序为'Region 1', 'Region 2', 'Region 3'
-应该保留该顺序,而不要导致'Region 3', 'Region 2', 'Region 1'
)。
遵循此问题的“接受的答案”会保留顺序吗?还是有其他方法可以实现?
stackoverflow - find-column-whose-name-contains-a-specific-string
答案 0 :(得分:2)
是的,它将。 df.columns
是一个列表,当您遍历列表时,将保留列表的顺序。因此,您可以使用上述链接的答案:
region_cols = [col for col in df.columns if 'Region' in col]
df[region_cols]
-将是您需要的df。
答案 1 :(得分:2)
两个步骤首先使用filter
s=df.filter(like='Region')
答案 2 :(得分:1)
如果您的数据框类似于:
var fill = contour.fill;
if(fill.color in replaceFills)
{
fill.color = replaceFills[fill.color];
contour.fill = fill;
}
我们可以使用print(df)
Region 3 Region 2 Region 1 Custom UnwantedCol
0 0 0 0 0 0
方法按数字对列进行排序:
sorted