Допустим, у меня есть такой кадр данных:
df = pd.DataFrame({'foo':[1, 2], 'bar': [3, 4], 'xyz': [5, 6]})
bar foo xyz
0 3 1 5
1 4 2 6
Теперь я хочу поместить столбец, содержащий oo
, в первую позицию (т. Е. В 0-й индекс);всегда есть только один столбец с этим шаблоном.
В настоящее время я решаю эту проблему, используя filter
дважды и concat
:
pd.concat([df.filter(like='oo'), df.filter(regex='^((?!(oo)).)*$')], axis=1)
, который дает желаемый результат:
foo bar xyz
0 1 3 5
1 2 4 6
Мне интересно, есть лиэто более эффективный способ сделать это.