Ich arbeite an der Reinigung einer Liste Domain-Namen.PANDAS DROP REIHEN basierend auf gefilterten Elementen, meine Lösung - nicht zufrieden
Ich möchte bestimmte Zeilen löschen, die ein Kriterium "passen". Es ist mir gelungen, das erste Kriterium zu bestimmen, das zweite wird leicht zu machen sein.
Allerdings kann ich die Zeilen nicht fallen lassen. Ich habe mehrere Lösungen ausprobiert, aber das Beste, was ich habe, ist folgendes.
from wordsegment import segment
import pandas as pd
def assignname():
dfr = pd.read_csv('data.net.date.csv')
for domainwtld in dfr.domain:
dprice = dfr.price
domainwotld = domainwtld.replace(".net", "")
seperate = wordsegment.segment(domainwotld)
dlnt = (min(seperate, key=len))
slnt = len(dlnt)
if slnt <= 1:
baddomains = domainwtld
a = dfr.loc[dfr['domain'] < (baddomains)]
print (a)
Wenn ich diesen Code ausführen, erhalte ich eine Ausgabe, dass nach dem ersten Eintrag in „baddomains“ dropping, druckt das gesamte Objekt in „dfr“. Dies geschieht, bis die Schleife abgeschlossen ist.
Wie kann ich die "ursprüngliche" CSV-Datei basierend auf baddomains filtern?
Sie könnten versuchen, mit .isin wenn dfr [ 'domain'] eine genaue Übereinstimmung zu Ihrem baddomains dfr.loc ist [~ dfr [ 'domain'] isin (baddomains_list).] –
Dank aber Typeerror: nur Liste -ähnliche Objekte dürfen an isin() übergeben werden, Sie haben eine [str] übergeben – user970155
Vielleicht können Sie einige Beispieldaten liefern? – Alexander