[PYTHON] Stellen Sie die Änderung der Anzahl der Keyword-Auftritte pro Monat mithilfe von Pandas grafisch dar

Annahme

(Wie vorher) Hier ist die Excel-Datei. Es wird von einer bestimmten Datenbank ausgegeben, und jede Zeile enthält einen Datensatz und ein Feld enthält Sätze. Jede Zeile hat auch ein Datumsinformationsfeld. Dieses Mal geht es darum, das angegebene Schlüsselwort aus dem Text in diesem Feld zu extrahieren und darzustellen, wie sich die Anzahl der Auftritte von Monat zu Monat ändert. Der Ein- und Ausgang sind Windows Excel-Dateien, und die Mitte erfolgt auf dem Mac.

Die Zeichencodekonvertierung und die Excel-Konvertierung sind dieselben wie beim letzten Mal, daher werden sie weggelassen.

Vorbereitung

Lassen Sie df csv von pd.read () lesen. MeCab erforderlich

def group_by_month(df):
	e = df['comment']	#Geben Sie ein Feld mit Text an
	e.index = pd.to_datetime(df['datetime'])	#Geben Sie Datumsinformationen im Index an
	m = MeCab.Tagger('-Ochasen')	#Versetzen Sie den Ausgang in den Chasen-Modus

	result_df = None
	for k, v in e.iteritems():
		if type(v) != unicode:
			continue
		target_dic = {		#Geben Sie das Zielschlüsselwort an
			'XXX'			: 0,
			'YYY'			: 0,
			'ZZZ'			: 0,
		}
		s8 = v.encode('utf-8')
		node = m.parseToNode(s8)
		while node:
			word=node.feature.split(',')[0]
			key = node.surface
			if key in target_dic:
				target_dic[key] += 1	#Erhöhen Sie die Anzahl, wenn gefunden
			node = node.next
		if result_df is None:
			result_df = pd.DataFrame(target_dic, index=[k])
		else:
			result_df = result_df.append(pd.DataFrame(target_dic, index=[k]))
	#Monatliche Gruppierung
	result_df['index1'] = result_df.index
	result_df = result_df.groupby(pd.Grouper(key='index1', freq='M')).sum()
	#Es scheint nicht mit Index zu funktionieren, also setzen Sie es in eine Spalte
	return result_df

Jedes Mal, wenn das Wörterbuch geleert wird, wird die Anzahl der Vorkommen gezählt und in einen DataFrame konvertiert und hinzugefügt. Ich denke, es könnte einfacher gemacht werden, aber ich weiß nicht, wie ich es machen soll.

Zu diesem Zeitpunkt werden die folgenden Daten in result_df gespeichert.

            XXX YYY ZZZ
index1                
2014-06-30   0   1   0
2014-07-31   0   6   0
2014-08-31   3  19   6
2014-09-30   1   8   0
2014-10-31   5  29   7
2014-11-30  10   8   0
2014-12-31  10  31   8
2015-01-31  12  41  15
2015-02-28  45  82  22
2015-03-31  21  58   9
2015-04-30  23  60  19
2015-05-31   4  36   3
2015-06-30  11  40   8
2015-07-31  13  49  11
2015-08-31   8  14   2
2015-09-30  13  13   9
2015-10-31   5  31   9
2015-11-30  11  21   3
2015-12-31  12  21   3
2016-01-31   2  19   0
2016-02-29  12  15   5
2016-03-31   9  32   7
2016-04-30   2  22   4
2016-05-31   6  24   2
2016-06-30   7  21   4
2016-07-31   9  22   4
2016-08-31   5  21   1
2016-09-30   7  31   6
2016-10-31   0  12   1

Handlung

'''
Bereiten Sie den Diagrammbereich vor
'''
def plot_init(title):
	fig = plt.figure()
	ax = fig.add_subplot(1,1,1)
	ax.set_title(title)
	return fig, ax

'''
Handlung
'''
def plot_count_of_day(df):
	title = 'test_data'
	fig, ax = plot_init(title)
	for c in df.columns:
		df[c].plot(label=c, ax=ax)
	ax.legend()
	ax.set(xlabel='month', ylabel='count')

Ergebnis

So was.

test_data.png

Ende.

Recommended Posts

Stellen Sie die Änderung der Anzahl der Keyword-Auftritte pro Monat mithilfe von Pandas grafisch dar
Diagramm der Geschichte der Anzahl der Ebenen des tiefen Lernens und der Änderung der Genauigkeit
Generieren Sie eine Liste mit der Anzahl der Tage im aktuellen Monat.
Geben Sie die Anzahl der CPU-Kerne in Python aus
Ändern Sie die Schriftgröße der Legende in df.plot
Bestimmen Sie die Anzahl der Klassen mithilfe der Starges-Formel
[Python] Darstellung der Anzahl der Beschwerden von Lebensversicherungsunternehmen in einem Balkendiagramm
Konzept des Bayes'schen Denkens (3) ... Berechnung der Änderungspunkte in der Anzahl der von PyMC3 empfangenen E-Mails
So ermitteln Sie die Anzahl der Stellen in Python
Zählen Sie die Anzahl der Parameter im Deep-Learning-Modell
Lassen Sie die Häkchen nach dem Dezimalpunkt in matplotlib weg
Ermitteln Sie die Größe (Anzahl der Elemente) von Union Find in Python
[In 3 Zeilen] Zeichnen Sie die Bevölkerungspyramide (Balkendiagramm der Altersgruppe / des Geschlechts) nur mit Pandas
VisibleDeprecationWarning: Die Verwendung einer Nicht-Ganzzahl anstelle einer Ganzzahl führt in Zukunft zu einem Fehler
So finden Sie die optimale Anzahl von Clustern für k-means
Maya | Ermitteln Sie die Anzahl der Polygone im ausgewählten Objekt
Untersuchen Sie den Fehlerbereich bei der Anzahl der Todesfälle aufgrund einer Lungenentzündung
Lassen Sie das Gleichungsdiagramm der linearen Funktion in Python zeichnen
Zählen Sie die Anzahl der Zeichen im Text in der Zwischenablage auf dem Mac
Holen Sie sich die Anzahl der spezifischen Elemente in der Python-Liste
Python - Ermitteln Sie die Anzahl der Gruppen im regulären Ausdruck
[Homologie] Zählen Sie mit Python die Anzahl der Löcher in den Daten
Ändern des Aufbewahrungszeitraums für CloudWatch-Protokolle in Lambda
[Nicht parametrische Felder] Schätzen der Anzahl von Clustern mithilfe des Diricle-Prozesses
Ermitteln Sie die Anzahl der Vorkommen für jedes Element in der Liste
Zeichnen Sie Zeitreihendaten in Python mit Pandas und Matplotlib
Maximale Anzahl von Zeichen im Python3-Shell-Aufruf (pro Betriebssystem)
10. Zählen der Anzahl der Zeilen
Holen Sie sich die Anzahl der Ziffern
Berechnen Sie die Anzahl der Änderungen
Ändern Sie das Thema von Jupyter
Ändern Sie den Stil von matplotlib
Verknüpfte Komponenten des Diagramms
Die Kraft der Pandas: Python
Zählen Sie die Anzahl der thailändischen und arabischen Zeichen in Python gut
So ändern Sie die Farbe nur der mit Tkinter gedrückten Taste
[Python] Lassen Sie uns die Anzahl der Elemente im Ergebnis bei der Operation des Sets reduzieren
Fühlen Sie sich frei, das Legendenlabel mit Seaborn in Python zu ändern
[TensorFlow 2] So überprüfen Sie den Inhalt von Tensor im Diagrammmodus
Seaborn-Grundlagen für Anfänger ① Aggregiertes Diagramm der Anzahl der Daten (Countplot)
Verwenden von TensorFlow in Cloud 9 Integrierte Entwicklungsumgebung - Grundlagen der Verwendung
Holen Sie sich die Anzahl der Leser von Artikeln über Mendeley in Python