When I created a frame like yours, the date columns contained NaN, so this code makes allowances for that. My frame is named 'table' in the following code:
print('Original:', table)
for index, row in table.iterrows():
if index == 0:
continue
if row[1] == '' or pd.isna(row[1]):
table.loc[index][0] = ''
table.loc[index][1] = ''
print('\n\nmodified:', table)
And the output is:
Original: 0 1 2
0 ID Date Name
1 1 20-04-2000 A
2 2 21-04-2000 B
3 3 21-04-2000 C
4 4 NaN D
5 5 NaN E
6 6 22-04-2000 F
7 7 NaN G
8 8 22-04-2000 H
modified: 0 1 2
0 ID Date Name
1 1 20-04-2000 A
2 2 21-04-2000 B
3 3 21-04-2000 C
4 D
5 E
6 6 22-04-2000 F
7 G
8 8 22-04-2000 H