Why is it not possible to store DD-MM-YYYY format in date format?
Following the format of the solutions you have tried, a correct way to do it (not the most efficient) is:
import datetime
df["Date"] = [datetime.datetime.strptime(s, '%Y-%m-%d').strftime('%d-%m-%Y') for s in df["Date"]]
If you need more efficiency in the solution, the ideal would be to use vectorized operations, for example:
df['Date'] = pd.to_datetime(df['Date'])
df['Date'] = df["Date"].dt.strftime("%d-%m-%Y")
Or in a single line:
df['Date'] = pd.to_datetime(df['Date']).dt.strftime("%d-%m-%Y")