Lizaad Williams also ruled out because of an intercostal muscle strain, Junior Dala has been added to squad
Ngidi has not played for South Africa since the Ireland series in July. He missed the Sri Lanka tour that followed in September for personal reasons, and was included in the T20 World Cup squad but did not play a game.
Zubayr Hamza and Ryan Rickelton, meanwhile, are in line to make their ODI debuts, while Khaya Zondo, Daryn Dupavillon and Sisanda Magala have all returned to the squad after missing the series against Sri Lanka.
The South Africans will start their training for the series later today in the lead up to the first ODI on Friday at SuperSport Park. The second and third games will be played at the same venue on November 28 and December 1.
South Africa squad: Keshav Maharaj (capt), Daryn Dupavillon, Zubayr Hamza, Reeza Hendricks, Sisanda Magala, Janneman Malan, David Miller, Junior Dala, Dwaine Pretorius, Andile Phehlukwayo, Wayne Parnell, Ryan Rickelton, Tabraiz Shamsi, Kyle Verreynne (wk), Khaya Zondo.