#python #pandas
#python #pandas
Вопрос:
У меня есть df, где имена индексов и столбцов представляют собой 6-значные почтовые индексы, 125 почтовых индексов являются общими как для df.index, так и для df.columns, в моем df теперь мне нужны только эти значения 125×125. Я смог удалить ненужные почтовые индексы из индекса, используя следующий фрагмент кода
df = df[df.index.isin(df.columns)]
но для столбцов, когда я использую тот же код
df = df[df.columns.isin(df.index)]
его ошибка при выбрасывании
ValueError: Length mismatch: Expected axis has 813 elements, new values have 125 elements
Можете ли вы, ребята, помочь мне с этим??
Ответ №1:
Для фильтрации по столбцам используйте DataFrame.loc
with :
для получения всех строк и маски для имен столбцов фильтра:
df = df.loc[:, df.columns.isin(df.index)]