Изтриване на колона от pandas DataFrame
Когато изтривам колона в DataFrame, използвам:
del df['column_name']
И това работи чудесно. Защо не мога да използвам следното?
del df.column_name
- Тъй като можете да получите достъп до колоната/серията като
df.column_name
, очаквам това да работи.*
1121
3
Най-добрият начин да направите това в pandas е да използвате
drop
:където
1
е номерът на оста (0
за редове и1
за колони.)За да изтриете колоната, без да се налага да присвоявате отново
df
, можете да направите:И накрая, за да изтриете по число на колона вместо по етикет на колона, опитайте това, за да изтриете например 1-ва, 2-ра и 4-та колона:
Както се досещате, правилният синтаксис е
Трудно е да се направи така, че
del df.column_name
да работи просто в резултат на синтактичните ограничения в Python.del df[name]
се превежда от Python наdf.__delitem__(name)
под прикритие.Добра практика е винаги да се използва означението
[]
. Една от причините е, че атрибутната нотация (df.column_name
) не работи за номерирани индекси: