Как правильно копировать строчки из df при выполнении условия?
Есть датафрейм нужно скопировать данные из нее, так чтобы выполнялось условие. Первое это если значение строки в столбе равно 0, или если число остальных строчек не больше определенного числа. Как это можно сделать, знаю что можно задать первое условие с помощью where, но как туда можно добавить второе условие не понимаю.
Ответы (1 шт):
Автор решения: Данила Соловьев
→ Ссылка
В итоге решил таким образом, не знаю насколько это хорошее решение. Скопировал, нужные мне данные с разными условиями в разные датафреймы, а потом для выполнения второго условия удалил строки индекс, которых больше заданного диапозона. И объединил все в один датафрейм.
Код:
test_df = pd.read_csv('DICT_FOR_LEARN (2).csv', sep=';')
test_df_2=test_df.loc[test_df['markup']==0]
test_df_3=test_df.loc[test_df['markup']!=0]
test_df_3.drop(labels=range(test_df['markup'].value_counts()[0], test_df_3.shape[0]) , axis = 0, inplace = True)
final_df = pd.concat([test_df_2, test_df_3]).sample(frac=1)
final_df['markup'].value_counts()