pd.DataFrame.insert
Вы можете использовать pd.DataFrame.insert
, но обратите внимание, что это решение на месте и не требует переназначения.Вам также может понадобиться явно установить dtype на int
:
df = pd.DataFrame([[1, 2, 3], [4, 5, 6]],
columns=['col1', 'col2', 'col3'])
arr = np.ones(len(df.index), dtype=int)
idx = 0
df.insert(loc=idx, column='col0', value=arr)
print(df)
col0 col1 col2 col3
0 1 1 2 3
1 1 4 5 6
Прямое определение + переупорядочение
Одно из простых решений - просто добавить строку и перейти к столбцу в начале вашегоdataframe.Вот полный пример:
df = pd.DataFrame([[1, 2, 3], [4, 5, 6]],
columns=['col1', 'col2', 'col3'])
df['col0'] = 1 # adds column to end of dataframe
cols = [df.columns[-1]] + df.columns[:-1].tolist() # move last column to front
df = df[cols] # apply new column ordering
print(df)
col0 col1 col2 col3
0 1 1 2 3
1 1 4 5 6