Einfach ausgedrückt ist S3 der Cloud-Speicherdienst von AWS, in dem große Datenmengen gespeichert werden können.
・ Was ist Amazon S3? Http://docs.aws.amazon.com/ja_jp/AmazonS3/latest/dev/Welcome.html
Da es notwendig war, die Daten in S3 zu aggregieren und diesmal als Grafik anzuzeigen, werde ich das Skript dafür erläutern.
Arbeitsumgebung: macOS Sierra Version 10.12.5 Python 2.7.10
boto Zuerst müssen Sie boto verwenden, um von Python aus auf AWS zuzugreifen. Die neueste Version ist boto3, installieren Sie also boto3.
$ pip install boto3
Greifen Sie nach der Installation von boto3 und dem Import in Python wie folgt auf S3 zu. Geben Sie außerdem den Namen des Buckets an, den Sie abrufen möchten, und rufen Sie die Daten ab.
import boto3
s3_resource = boto3.resource('s3')
bucket = s3_resource.Bucket('bucket_name')
Der Bucket enthält viele Daten. Wenn Sie also ein Objekt abrufen möchten, geben Sie es mit dem Filter an. Wenn Sie alle brauchen, besorgen Sie sie sich mit allen.
obj = bucket.objects.filter(Prefix='filter_word')
obj = bucket.objects.all()
Laden Sie die Daten des Objekts herunter. Dateiname ist der Name beim lokalen Speichern. Die Erweiterung sollte mit der Datei in S3 übereinstimmen.
bucket.download_file(Key=obj.key, Filename='file_name')
Sie können jetzt die S3-Daten herunterladen. Öffnen Sie danach die Datei und aggregieren Sie sie mithilfe einer Liste oder eines Wörterbuchs entsprechend dem Datenformat.
Stellen Sie als Nächstes die aggregierten Daten grafisch dar. Die aggregierten Daten werden als Textdatei im folgenden Format gespeichert. Die zu diesem Zeitpunkt angegebenen Zahlenwerte der Namen 1 bis 6 werden für jede Stunde aufgezeichnet.
Zeit 1
Name 1:Nummer 1-1
Name 2:Nummer 1-2
Name 3:Nummer 1-3
Name 4:Nummer 1-4
Name 5:Nummer 1-5
Name 6:Nummer 1-6
Zeit 2
Name 1:Nummer 2-1
Name 2:Nummer 2-2
Name 3:Nummer 2-3
Name 4:Nummer 2-4
Name 5:Nummer 2-5
Name 6:Nummer 2-6
Zeit 3
・ ・ ・ ・ ・ ・ ・ ・ ・
・ ・ ・ ・ ・ ・ ・ ・
・ ・ ・ ・ ・ ・ ・
・ ・ ・ ・ ・ ・ ・
Verwenden Sie Pandas und Matplotlib, um dies grafisch darzustellen. Pandas ist eine Bibliothek, die den Umgang mit Daten in Pyhton vereinfacht. Mit dem Datenrahmenformat können Sie ganz einfach ein Diagramm erstellen. matplotlib wird zum Zeichnen von Grafiken verwendet. Beide werden mit pip installiert.
Sie können einen Datenrahmen erstellen, indem Sie ihn direkt ersetzen. Sie können ihn jedoch auch aus einem Wörterbuch erstellen. Erstellen Sie daher ein Wörterbuch und konvertieren Sie es dann in das Datenrahmenformat. Öffnen Sie eine Textdatei mit aggregierten Daten, erstellen Sie ein Wörterbuch und geben Sie eine Liste mit Namen für Schlüssel und Zahlen für Werte ein. Erstellen Sie nach der Eingabe ein Diagramm im Datenrahmenformat.
import pandas as pd
with open('data.txt')as f:
line = f.readline()
while line:
results = line.rstrip()
if ':' in results:
data = results.split(':')
results_dict[data[0]].append(int(data[1]))
line=f.readline()
#Verwandeln Sie das Wörterbuch in einen Datenrahmen
my_df = pd.DataFrame.from_dict(results_dict)
#Erstellen eines Diagramms
my_df.plot(title='graph_title')
Sie haben jetzt ein Diagramm erstellt. Verwenden Sie zum Schluss matplotlib, um es anzuzeigen.
import matplotlib.pyplot as plt
plt.show()
Sie können eine Bibliothek namens seaborn verwenden, um modischere Grafiken zu erstellen. Es gibt verschiedene Grafiken und Verwendungen auf der offiziellen Seite. https://seaborn.pydata.org/examples/index.html
Recommended Posts