Vyhněte se psaní df['sloupec'] dvakrát, když dělá df['sloupec'] = df['sloupec']

0

Otázka

Já ani nevím, jak to formulovat, ale existuje způsob, jak v Pythonu pro odkaz na text před sobě rovnými, aniž by museli psát znovu?

** EDIT - já používám python3 v Jupyter

Zdá se, že jsem strávila polovinu života psaní:

df['column'] = df['column'].some_changes

Existuje způsob, jak říct, Python, že jsem odkazování na část před rovnítko?

Například bych napsat následující, kde <% je jen reprezentovat odkaz na text před = (df['column'])

df['column'] = <%.replace(np.nan)
jupyter pandas python
2021-11-23 17:05:39
1

Nejlepší odpověď

1

hledáte v místěmetod. Věřím, že se můžete projít inplace=True jako argument pro většinu metod v pandy

tak to by bylo něco jako

df['column'].replace(np.nan, inplace=True)

edit

Dalo by se také udělat

df["computed_column"] = df["original_column"].many_operations

takže máte stále přístup k původním datům. A dělat všechny potřebné operace najednou místo uložení každého kroku.

Jednou z výhod inplace není výchozí je, pokud provádíte dávkové operace a to nedokáže midway vaše data nejsou k ničemu.

2021-11-23 18:37:19

jo, dobrý postřeh! máš pravdu, je to práce na hodně, ale ne všechno :)
Tantable

Myslím si, že není možné dosáhnout. Matematické operace, může to dělat jako df ["a"] * = 5
Bricam

přidal jsem edit pro, proč inplace není výchozí může ve skutečnosti být užitečné
mnzbono

V jiných jazycích

Tato stránka je v jiných jazycích

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................