Czy mogę wstawić kolumnę w określonym indeksie kolumny w pandach?
import pandas as pd
df = pd.DataFrame({'l':['a','b','c','d'], 'v':[1,2,1,2]})
df['n'] = 0
Będzie to umieścić kolumnę n
jako ostatniej kolumnie df
, ale nie jest jakiś sposób, aby powiedzieć df
, aby umieścić n
na początku?
Odpowiedzi:
zobacz dokumenty: http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.insert.html
użycie loc = 0 wstawi na początku
źródło
Możesz spróbować wyodrębnić kolumny jako listę, masować to, jak chcesz i ponownie zindeksować swoją ramkę danych:
EDYCJA: można to zrobić w jednym wierszu; wygląda to jednak trochę brzydko. Może może przyjść czystsza propozycja ...
źródło
Jeśli chcesz mieć jedną wartość dla wszystkich wierszy:
Edytować:
Możesz także:
źródło
Oto bardzo prosta odpowiedź na to pytanie (tylko jedna linia).
Możesz to zrobić po dodaniu kolumny „n” do pliku df w następujący sposób.
źródło