Home > OS >  Trying to remove duplicates from a pandas dataFrame
Trying to remove duplicates from a pandas dataFrame

Time:01-03

I am trying to remove duplicates from a dataset. Please see the following lines for a minimal reproducible example of the dataframe.

{'URL': {0: 'https://www.funda.nl/koop/verkocht/nijmegen/huis-41264739-st-jacobslaan-293/', 1: 'https://www.funda.nl/koop/verkocht/didam/huis-41266611-dr-ariensstraat-15/'}, 'OfferedSince': {0: '16 januari 2021', 1: '8 januari 2021'}, 'DateOfSale': {0: '18 maart 2021', 1: '14 april 2021'}, 'AskingPrice': {0: '€ 309.000 k.k.', 1: '€ 480.000 k.k.'}, 'Description': {0: "Bekijk de uitgebreide fotopresentatie en Walk Through Video online! Interesse? Vraag een bezichtiging aan per e-mail of neem telefonisch contact met ons op! In de gewilde woonwijk Hatertse Hei nabij het Radboud UMC gelegen charmant helft van dubbel woonhuis met carport, diepe zonnige tuin (gelegen op het Zuidoosten) en parkeermogelijkheid op eigen terrein. De vrijstaande houten schuur van ca. 10 m2 biedt genoeg ruimte om fietsen of een motor binnen neer te zetten. Dit karakteristieke woonhuis ligt op een royaal perceel van 276 m2 en biedt volop mogelijkheden voor uitbreiding! Deze in jaren '30 stijl gebouwde woning is door de jaren heen prima onderhouden maar dient intern gemoderniseerd te worden. De Hatertse Hei is een rustige en zeer courante buurt op circa 10 minuten fietsen van het centrum van Nijmegen waardoor alle wijk,-en stadsvoorzieningen zoals winkels en scholen en het Centraal station direct onder handbereik zijn. Wandelen, fietsen en sporten laat zich goed met stads wonen combineren door de nabijheid van goede sportfaciliteiten, het Goffertpark en de bossen van Heumensoord. Indeling: Begane Grond: Entree, hal met trapopgang en toegang tot de kelder, L-vormige woonkamer met gashaard. Vanuit de woonkamer toegang tot de dichte keuken welke voorzien is van enkele apparatuur. Via de hal toegang naar de badkamer en de op het Zuidoosten gelegen achtertuin. De badkamer is voorzien van een inloopdouche, vaste wastafel en toilet. 1e Verdieping: Overloop, 3 slaapkamers van goed formaat. De slaapkamer aan de voorzijde van de woning is voorzien van een inbouwkast. Bijzonderheden - Bouwjaar 1924; - Perceeloppervlakte 276 m2; - Woonoppervlakte 74 m2; - Inhoud 280 m3; - Meetrapport Nen 2580 aanwezig; - Intergas cv ketel uit 2009; - Energielabel G. Wijkinformatie: De Hatertse Hei is een centraal in Nijmegen gelegen kindvriendelijke woonwijk met veelal vooroorlogse woningen en woningen uit de jaren '50 en '60. Deze geliefde wijk is grofweg gelegen tussen de St. Annastraat ter hoogte van het UMC Radboud en de Hazenkamp. De wijk ligt op loopafstand van de Radboud Universiteit en het UMC Radboud en is op slechts 10 minuten fietsen gelegen van het centrum. Wijkvoorzieningen zoals scholen en winkels zijn ruimschoots aanwezig.", 1: 'Bijzonder fraai en royaal wonen in de gemeente Montferland? Het kan! Op uitstekende locatie tegenover plantsoen in ruim opgezette woonomgeving in één van de meest geliefde woonwijken aan de rand van Didam gelegen riante vrijstaande woning met vrijstaande stenen garage/ berging voorzien van zolder, carport geschikt voor stalling van camper en goed omsloten tuin met veel privacy. De speels aangelegde achtertuin is gesitueerd op het zonnige Zuiden en voorzien van een royaal zonneterras met diverse borders; u kunt ook binnenshuis optimaal van de tuin genieten vanwege de grote glazen pui in de woonkamer. Het woonhuis beschikt voorts over een royale kantoorruimte (eventueel in te richten als slaapkamer) (voorheen 2 kamers; in 1980 getransformeerd tot 1 grote kamer van circa 5.65 m x 3.35 m) een riante woonkamer (circa 50 m2) en 5 slaapkamers alsmede 2 badkamers op de de eerste verdieping, waardoor de woning voor meerdere doelgroepen geschikt is waaronder grote gezinnen. Bovendien uitermate geschikt voor de combinatie wonen-werken aan huis. Er is ruimschoots voldoende parkeergelegenheid op eigen terrein. Dit vrijstaand woonhuis is geheel op traditionele wijze gebouwd in 1974, meet een comfortabele inhoud van 770 m³ en heeft een zeer royale woonoppervlakte 200 m². Het geheel staat gesitueerd op een perceel van maar liefst 664 m² eigen grond. Deze woning is gunstig gelegen in een rustige woonomgeving nabij het centrum van Didam. Didam beschikt over veel eigen voorzieningen zoals een uitgebreid scala aan winkels, een eigen trein- en busstation, basisscholen en voortgezet onderwijs. Tevens zijn er diverse sportaccommodaties zoals tennis- en voetbalvelden en een fitnesscentra. De recreatie / natuurgebieden “de Nevelhorst”, “t Baerlebos” en de Montferlandse bossen, met haar vele wandel-, fiets- en ruiterpaden, bevinden zich op korte afstand. Het object is centraal gelegen in de stedendriehoek Arnhem-Doetinchem-Nijmegen, de ontsluitingswegen A12 (Arnhem), A18 (Doetinchem) en de A3 (Duitsland) bereikt u binnen enkele autominuten. INDELING Begane grond: Thuiskomen via royaal overdekte entree, zeer royale statige hal met daarboven een vide, meterkast v.v. glasvezelaansluiting, zeer royale L vormige living welke onder te verdelen is tot bijvoorbeeld eet- en zitkamer, v.v. haardpartij en riante glazen pui (deels schuifpui) waardoor optimale lichtinval en uitstekend zicht op de tuin. Dichte keuken voorzien van inbouwkeuken met RVS kooktoestel (heteluchtoven en 5-pits gas koken) en RVS afzuigschouw. Grote werkkamer annex 6e slaapkamer welke eventueel te splitsen is tot 2 kamers. Eerste verdieping: Overloop, vide, 5 goed bemeten slaapkamers waarbij 2 slaapkamers toegang bieden tot het balkon aan de westzijde, badkamer voorzien van ligbad, 2e toilet en 2 wastafels en tweede badkamer welke is voorzien van douche en wastafel. Tweede verdieping: Royale zolder te bereiken via vlizotrap. Bijzonderheden: Bouwjaar 1974 Perceelgrootte 664 m2 Woonoppervlakte 200 m2 Externe bergruime 26 m2; overige inpandige ruimte 19 m2 en gebouw gebonden buitenruimte 5 m2 Inhoud ca. 770 m2 volgens NEN 2580 Meetrapport Aanvullende informatie: Energielabel D HR combiketel 2017 Buitenschilderwerk 2016 Gedeeltelijk kunststof kozijnen met dubbel glas. Rustig gelegen in een ruim opgezette woonomgeving aan de rand van Didam. Het centrum van Didam ligt op loopafstand. Er zijn uitstekende autoverbindingen en openbaar vervoerverbindingen naar o.a. Arnhem, Duitsland, Doetinchem en Zevenaar. Didam is een plaats met ongeveer 16.500 inwoners. Het maakt onderdeel uit van de gemeente Montferland. De gemeente Montferland ligt in Oost Nederland, direct tegen de Duitse grens. ’s-Heerenberg en Didam zijn de levendige centra van de gemeente Montferland, maar ook de kleine pittoreske dorpjes zijn zeker een bezoek waard. Grotere plaatsen in de omgeving zijn Arnhem en Doetinchem. De gemeente Montferland kenmerkt zich in een afwisselend landschap, mooie bossen en beschikt daarnaast over alle faciliteiten om lekker tot rust te komen. Naast de natuur kunt u ook qua cultuur en historie uw hart ophalen in Montferland en omgeving. Niet voor niets is de slogan van de gemeente “Groen met karakter!”. Interesse in dit huis? Schakel direct uw eigen NVM-aankoopmakelaar in. Uw NVM-aankoopmakelaar komt op voor uw belang en bespaart u tijd en zorgen. Adressen van collega NVM-aankoopmakelaars vindt u op Funda.'}, 'Postcode': {0: '6533 VD', 1: '6941 CJ'}, 'LivingArea': {0: '74 m²', 1: '200 m²'}, 'PlotArea': {0: '276 m²', 1: '664 m²'}, 'Rooms': {0: 4, 1: 7}, 'Bedrooms': {0: '4 kamers (3 slaapkamers)', 1: '7 kamers (6 slaapkamers)'}, 'Bathrooms': {0: '1 badkamer', 1: '2 badkamers en 1 apart toilet'}, 'EnergyLabel': {0: 'G', 1: 'D'}, 'BuildYear': {0: '1924', 1: '1974'}, 'TypeOfHouse': {0: 'Eengezinswoning, 2-onder-1-kapwoning', 1: 'Eengezinswoning, vrijstaande woning'}, 'Garden': {0: 'Achtertuin, voortuin en zijtuin', 1: 'Tuin rondom'}, 'Garden-yes-no': {0: 'Yes', 1: 'Yes'}}

I am trying to remove duplicates. Therefore, first of all I want to change the datatypes of the columns to integers.

funda_data_df.columns.astype('int')

However, I get the following error: ValueError: invalid literal for int() with base 10: 'URL'

The above exception was the direct cause of the following exception:

TypeError: Cannot cast Index to dtype int32

Does anyone know how I can solve this?

Thanks in advance.

CodePudding user response:

You don't have to change datatypes of columns in order to remove duplicates. And your columns names are strings so you cant type cast int32 datatype.

For dropping duplictes use drop_duplicates function that would work fine.

df.drop_duplicates()

CodePudding user response:

If you want to drop exact duplicate rows (all columns being the same across rows):

dfu = df.drop_duplicates()

If you want to remove duplicates only based on some columns, e.g. just on 'URL', and keep the first one:

dfu = df.drop_duplicates(subset=['URL'], keep='first')
  • Related