Исходя из вашего вопроса, я думаю, что нет необходимости сохранять их в списке, потому что вы также можете хранить их где-нибудь еще (например, в другом DataFrame) и строить их. Приведенные ниже функции должны помочь с заполнением там, где вы хотите хранить свои данные.
def date(your_id):
first_date = df.loc[(df['id']==your_id)].iloc[0,1]
second_date = df.loc[(df['id']==your_id)].iloc[1,1]
return first_date, second_date
def price(your_id):
first_date, second_date = date(your_id)
price_first_date = df.loc[(df['id']==6021501535) & (df['date']==first_date)].iloc[0,2]
price_second_date = df.loc[(df['id']==6021501535) & (df['date']==second_date)].iloc[0,2]
return price_first_date, price_second_date
price_first_date, price_second_date = price(6021501535)
Если сейчас, например, вы хотите сохранить свои данные в новом df, вы можете сделать что-то вроде:
selected_ids = [6021501535, 4139480200]
new_df = pd.DataFrame(index=np.arange(1,len(selected_ids)+1), columns=['price_first_date', 'price_second_date'])
for i in range(len(selected_ids)):
your_id = selected_ids[i]
new_df.iloc[i, 0], new_df.iloc[i, 1] = price(your_id)
new_df тогда содержит все «цены на первую дату» в первом столбце и все «цены на вторые даты» во втором столбце. Сюжет должен получиться.