At the 2000 census there were 4,218 people, 1,766 households, and 1,110 families living in the city. The population density was 986.4 inhabitants per square mile (380.9/km2). There were 1,928 housing units at an average density of 450.9 per square mile (174.1/km2). The racial makup of the city was 90.9% White, 0.1% African American, 0.3% Native American, 0.2% Asian, 7.7% from other races, and 0.8% from two or more races. Hispanic or Latino of any race were 11.0%.[10]
Of the 1,766 households 28.0% had children under the age of 18 living with them, 50.8% were married couples living together, 8.4% had a female householder with no husband present, and 37.1% were non-families. 32.4% of households were one person and 18.6% were one person aged 65 or older. The average household size was 2.30 and the average family size was 2.89.
Age spread: 23.2% under the age of 18, 8.3% from 18 to 24, 24.3% from 25 to 44, 22.1% from 45 to 64, and 22.1% 65 or older. The median age was 41 years. For every 100 females, there were 90.7 males. For every 100 females age 18 and over, there were 88.1 males.
The median household income was $33,005 and the median family income was $45,391. Males had a median income of $29,706 versus $20,909 for females. The per capita income for the city was $19,907. About 7.0% of families and 9.4% of the population were below the poverty line, including 12.6% of those under age 18 and 8.2% of those age 65 or over.
The city has an unusual octagonal building constructed in 1890 to commemorate the local soldiers who fought in the American Civil War. It can be toured by appointment.[16]
The city is intersected by two major highways: U.S. Route 65 and Iowa Highway 3. Interstate 35 is nine miles west of town. There is also an airport, Hampton Municipal, located on the city's southwest side.