More than 500 people were evacuated from rooftops in the town of Catacaos after flood water levels rose to 1.80m (5ft 9in).
Hundreds of residents are still waiting to be taken to safety, local media reports.
The Piura river flooded after 15 hours of heavy rains on the weekend.
Gen Jorge Chavez of the National Emergency Operations Centre (COEN) said the rains had been the heaviest in almost a decade.
Watch more:
"It rained at double the normal intensity and that's what's caused the high water levels," he said.
Mr Chavez said that 10,000 people had been affected in the city of Piura and double that number in Catacaos.
The levels of the Piura river started dropping on Monday afternoon but forecasters said more heavy rains were expected to fall between Wednesday and Saturday in northern Peru.
Across Peru more than 90 people have died since the start of the year as unusually heavy rainfall caused landslides and flash floods.
Four people have drowned after the river Piura burst its banks in the north of Peru and caused extensive flooding.