Ich habe versucht, einen Pandas-Datenrahmen zu erstellen, indem ich mit Python Informationen zum Lebensmittelrückruf abgekratzt habe

Ich beschloss, eine Lernaufzeichnung über Python zu führen, und begann mit Qitta. Da mein Job ein Nicht-IT-Unternehmen ist, ist Python wirklich ein Hobby ... Ich meine, ich lerne mit Interesse.

Im Moment arbeite ich an der Lebensmittelhygiene. Ich frage mich, ob ich etwas mit Python anfangen kann. Analysieren wir also die Daten zu Informationen zum Lebensmittelrückruf! Ich dachte.

Als ersten Schritt habe ich versucht, durch Scraping einen Datenrahmen mit Informationen zum Lebensmittelrückruf zu erstellen. Die Datenquelle ist eine Site namens Recall Plus.

food_recall_info.py


from bs4 import BeautifulSoup
import requests
import re
import csv
import time
import pandas as pd

def recalls(url):
    res = requests.get(url)
    soup = BeautifulSoup(res.text, 'html.parser')
    recall_soup = soup.findAll("tr",{"class":{"return","info","apology"}})
    
    campany_list = []
    recall_list = []
    action_list = []
    recall_date = []

    for j in range(len(recall_soup)):
        #Firmennamen abrufen
        campany_list.append(recall_soup[j].find("a", href=re.compile("/company/*")).get_text())
        #Details abrufen
        recall_list.append(recall_soup[j].find("a", {"style":"float:left"}).get_text())
        #Wie soll man antworten
        keyword = re.compile(r'Wiederherstellung|Wiederherstellung&Rückerstattung|Wiederherstellung&Rückerstattung/Austausch|Wiederherstellung&Austausch|Rückerstattung|Austausch|点検&Austausch|Beachten|Verstoß gegen das Preiskennzeichnungsgesetz|Entschuldigung|Rückerstattung/Austausch|Senden')
        action_list.append(re.search(keyword, str(recall_soup[j])).group())
        #Abgrenzungsdatum
        recall_date.append(recall_soup[j].find("td", {"class":"day"}).get_text().replace("\n        ","20"))
    return campany_list,recall_list,action_list,recall_date

campany_lists = []
recall_lists = []
action_lists = []
recall_dates = []

for i in range(1,20):
    resl = recalls("https://www.recall-plus.jp/category/1?page={}".format(i))
    campany_lists.extend(resl[0])
    recall_lists.extend(resl[1])
    action_lists.extend(resl[2])
    recall_dates.extend(resl[3])
    
recall_df = pd.DataFrame({'Name der Firma':campany_lists,'Details abrufen':recall_lists,'Korrespondenz':action_lists,'Abgrenzungsdatum':recall_dates})

Ausführungsergebnis


recall_df.head()
Firmenname Rückrufdetails Korrespondenzdatum
0 Kobe Bussan Business Supermarket Ich möchte einige Harzstücke in einige Produkte von Recovery 2020 einkleben/03/17
1 Marubun Marubun Inländische Sojabohnen verwendet Yose Tofu Verfallsdatum falsch beschriftet Sammlung 2020/03/17
2 Aeon Hitachi Omiya Geschäft...Allergen gegen gewürzte Tonteki mit Schweinelende(Milch)Fehlende Anzeige Entschuldigung 2020/03/18
3 Tsuruya Karuizawa Store Köstlicher Weißfisch Fly Allergen Milk Ingredient Display fehlt Recovery 2020/03/16
4 Hatanaka Koiya Hatanaka Koiya Koi Süß gekochtes Allergen "Weizen" Missing Display Recovery 2020/03/13

Anscheinend denke ich, dass es im Pandas-Datenrahmen gespeichert werden könnte.

Zuerst dachte ich darüber nach, die Liste jedes Mal in den Datenrahmen zu schreiben, aber ich gab auf, weil ich nicht wusste, wie ich das machen sollte. Zuerst habe ich eine Liste jeder Spalte erstellt und dann versucht, sie in Pandas zu integrieren.

Ich bin ein Amateur, also habe ich mich an eine Sache erinnert und zuerst mit append () einen Wert hinzugefügt. Es wurde jedoch im Listenformat hinzugefügt und konnte nicht erfolgreich in Pandas importiert werden.

Nach vielen Recherchen stellte ich fest, dass ich Extend () verwenden konnte, um nur die Werte in der Liste hinzuzufügen.

Ich habe eins gelernt.

Nachdem ich die Daten sicher erstellt habe, möchte ich die Daten analysieren. Was jetzt mit diesen Daten analysiert werden kann, ist (1) Prozentsatz der Sammlungen und Rückgaben bei Rückrufen ② Gibt es eine Zeit, in der Rückrufe wahrscheinlich sind?

Nicht wahr. Ich würde gerne verschiedene Dinge ausprobieren.

Recommended Posts

Ich habe versucht, einen Pandas-Datenrahmen zu erstellen, indem ich mit Python Informationen zum Lebensmittelrückruf abgekratzt habe
Ich habe versucht, mit Python eine Liste von Primzahlen zu erstellen
[Pandas] Ich habe versucht, Verkaufsdaten mit Python zu analysieren. [Für Anfänger]
Ich habe versucht, CloudWatch-Daten mit Python abzurufen
Ich habe versucht, ein Programm zu erstellen, das Hexadezimalzahlen mit Python in Dezimalzahlen konvertiert
Ich habe versucht, fMRI-Daten mit Python zu analysieren (Einführung in die Dekodierung von Gehirninformationen)
[Outlook] Ich habe versucht, mit Python automatisch eine tägliche Berichtsmail zu erstellen
Ich habe versucht, mit Python zu kratzen
Ich habe versucht, mit Python zu kratzen
Ich möchte einem Pandas-Datenrahmen eine group_id geben
Als ich versuchte, mit Python eine virtuelle Umgebung zu erstellen, funktionierte dies nicht
Ich habe versucht, automatisch einen Bericht mit der Markov-Kette zu erstellen
Ich habe versucht, WebScraping mit Python.
[Python] Ich habe versucht, automatisch einen täglichen Bericht über YWT mit Outlook-Mail zu erstellen
Ich habe eine Funktion zum Abrufen von Daten aus der Datenbank spaltenweise mithilfe von SQL mit SQLite3 von Python [SQLite3, SQL, Pandas] erstellt.
[5.] Ich habe versucht, mit Python ein bestimmtes Authenticator-ähnliches Tool zu erstellen
[2nd] Ich habe versucht, mit Python ein bestimmtes Authenticator-ähnliches Tool zu erstellen
[3.] Ich habe versucht, mit Python ein bestimmtes Authenticator-ähnliches Tool zu erstellen
[Python] Ein Memo, das ich versucht habe, mit Asyncio zu beginnen
Ich habe versucht, mit Selenium und Python einen regelmäßigen Ausführungsprozess durchzuführen
Ich habe versucht, Bulls and Cows mit einem Shell-Programm zu erstellen
Ich habe versucht, eine ToDo-App mit einer Flasche mit Python zu erstellen
[4.] Ich habe versucht, mit Python ein bestimmtes Authenticator-ähnliches Tool zu erstellen
[1.] Ich habe versucht, mit Python ein bestimmtes Authenticator-ähnliches Tool zu erstellen
Ich habe versucht, einen Linebot zu erstellen (Implementierung)
Ich habe versucht, einen Linebot zu erstellen (Vorbereitung)
[Data Science-Grundlagen] Ich habe versucht, mit Python von CSV auf MySQL zu speichern
Ich habe versucht, mit einem Remote-Server über Socket-Kommunikation mit Python zu kommunizieren.
Ich habe versucht, ein Plug-In mit HULFT IoT Edge Streaming [Entwicklung] (2/3) zu erstellen.
Ich habe versucht, mit Raspeye 4 (Python Edition) ein signalähnliches Signal zu erzeugen.
Ich habe versucht, mit Django eine CSV-Upload-, Datenverarbeitungs- und Download-Funktion zu erstellen
Ich habe versucht, die Filminformationen der TMDb-API mit Python abzurufen
Ich habe versucht, ein Plug-In mit HULFT IoT Edge Streaming [Setup] (1/3) zu erstellen.
Ich habe versucht, eine Mac Python-Entwicklungsumgebung mit pythonz + direnv zu erstellen
Ich habe ein Beispiel für den Zugriff auf Salesforce mit Python und Bottle erstellt
Erstellen Sie mit tkinter [Python] einen Rahmen mit transparentem Hintergrund.
Ich habe versucht, die Daten mit Zwietracht zu speichern
Ich habe versucht, LLVM IR mit Python auszugeben
Schritte zum Erstellen eines Twitter-Bots mit Python
Ich habe versucht, die Herstellung von Sushi mit Python zu automatisieren
Machen Sie Urlaubsdaten mit Pandas zu einem Datenrahmen
Ich möchte mit Python in eine Datei schreiben
Ich habe versucht, einen periodischen Prozess mit CentOS7, Selenium, Python und Chrome durchzuführen
Ich habe eine einfache Mail-Sendeanwendung mit tkinter von Python erstellt
Ich habe versucht, eine Klasse zu erstellen, mit der Json in Python problemlos serialisiert werden kann
[Patentanalyse] Ich habe versucht, mit Python eine Patentkarte zu erstellen, ohne Geld auszugeben
Ich habe versucht, mit Raspeye + Tact Switch eine Schaltfläche für Slack zu erstellen
Ich habe versucht, ein Modell mit dem Beispiel von Amazon SageMaker Autopilot zu erstellen
Ich habe versucht, Mine Sweeper auf dem Terminal mit Python zu implementieren
Ich habe versucht, mit Blenders Python script_Part 01 zu beginnen
Ich habe versucht, eine CSV-Datei mit Python zu berühren
Ich habe versucht, Soma Cube mit Python zu lösen
Ich habe versucht, einen Pseudo-Pachislot in Python zu implementieren
Ich habe versucht, mit Blenders Python script_Part 02 zu beginnen