Я хочу добавить строку в pandas фрейм данных без использования df.loc
. Я ищу что-то похожее на метод .append()
, используемый в списках.
Я делаю это в своей повседневной жизни, но я ищу что-то более удобное, чем мое текущее решение:
stupid_table = pd.DataFrame(columns=['max_depth', 'features'])
for max_depth in np.arange(50, 101):
new_row = pd.DataFrame({'max_depth':[max_depth], 'features':[10]})
stupid_table = pd.concat([stupid_table, new_row], axis=0)
Я бы хотел объявить new_row
как список или серию pandas вместо фрейма данных pandas. Есть ли способ заставить следующий синтаксис работать?
stupid_table = pd.DataFrame(columns=['max_depth', 'features'])
for max_depth in np.arange(50, 101):
new_row = [max_depth, 10]
stupid_table = pd.concat([stupid_table, new_row], axis=0)
Я специально хочу сделать это, потому что реальный фрейм данных, к которому я хочу добавить новые строки, имеет тонны столбцов, и мне лень писать вниз по новой строке в качестве словаря. Я бы лучше набрал цифры в списке. Я делаю это очень часто, и более удобный синтаксис может творить чудеса с моим психическим здоровьем.
РЕДАКТИРОВАТЬ: Я предпочитаю не использовать .loc
, потому что мой для l oop принимает каждое значение в массивах numpy , Переключив текущий синтаксис на for value in range(len(np.arange(start, stop)))
, чтобы заставить l oop использовать индексы, тогда мне придется переводить комбинации в числовые значения c, потому что в реальном примере у меня есть тонны комбинаций. Я бы предпочел не делать этого.