The Frenchman, who has not played since early February with a knee injury, will not feature again this season with his ban covering the final 10 games of this season and the first 10 games of next year.
"Joakim Noah of the New York Knicks has been suspended without pay for 20 games for violating the terms of the NBA/NBPA Anti-Drug Program by testing positive for Selective Androgen Receptor Modulator LGD-4033," the NBA said in a statement on its official website.
Noah, a two-time NBA All Star and former Defensive Player of the Year, who signed for the Knicks from the Chicago Bulls at the start of this season, is averaging 5.0 points and 8.7 rebounds in 46 games this year - both below his career average.
The 32-year-old defensive specialist was expected to add defensive steel to New York but has struggled since signing a four-year contract worth $72 million.
The struggling Knicks (27-45) are well outside playoff contention and face the San Antonio Spurs, with the NBA's second best record, next.
(Reporting By Tom Hayward in London, editing by Pritha Sarkar)