Einführung in die Datenanalyse mit Python P17-P26 [ch02 1.usa.gov Daten von bit.ly]

Modul

# %load ipython_log.py
# IPython log file
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

Datei laden

path='./usagov_bitly_data2012-03-16-1331923249.txt'
open(path).readline()
import json
record=[json.loads(line) for line in open(path)]   #Lesen Sie im JSON-Format
record[0]   #Da der Inhalt der Aufzeichnung lang ist, betrachten wir vorerst nur ein Element
record[0]['tz']   #Davon ist tz der Schlüssel
time_zone=[rec['tz'] for rec in record if 'tz' in rec]   #Siehe nur tz in der Aufzeichnung. Aber nur wenn es tz gab
time_zone[:10]   #Sehen Sie nur die 10. Zeile von oben

Zähle tz und speichere im Wörterbuch

def get_counts(seq):
	'''
Zählen Sie, wie viele der Zeichenfolge in seq und im Wörterbuch entsprechen{'String':Menge,...}Zurück als
	def get_counts(seq):#Gleiche Bedeutung wie diese, aber einfach mit defaultdict
		count=defaultdict(int)   #count={}
		for x in seq:
			if x in counts:
				counts[x]+=1
			else:
				count[x]=1
			return counts
	'''
	from collections import defaultdict
	counts=defaultdict(int)   #returns `defaultdict(<class 'int'>, {})`
	for x in seq:
		counts[x]+=1
	return counts

counts=get_counts(time_zone)
counts['America/New_York']
len(time_zone)

Finde top10

Was wir tun, ist anders in der Form, aber alle sind zusammen

Mach eine Funktion

def top_counts(count_dict,n=10):
	value_key_pairs=[(count,tz) for tz, count in count_dict.items()]
	value_key_pairs.sort()
	return value_key_pairs[-n:]

top_counts(counts)

benutze Klasse

from collections import Counter
counts= Counter(time_zone)
counts.most_common(10)

benutze Pandas

from pandas import DataFrame,Series
import pandas as pd
frame=DataFrame(record)
frame['tz'][:10]
tz_counts=frame['tz'].value_counts()
tz_counts[:10]

NA-Ergänzung

clean_tz=frame['tz'].fillna('Missing')
clean_tz[clean_tz=='']='UNknown'
clean_tz
tz_counts=clean_tz.value_counts()
tz_counts[:10]

tz_count PLOT

tz_counts[:10].plot(kind='barh',rot=0)
import matplotlib.pyplot as plt
# plt.show()

Elementanzahl

frame['a'][1]
frame['a'][50]
frame['a'][51]
results=Series([x.split()[0] for x in frame.a.dropna()])   #.dropna()pandas-Methode Leere Zeile löschen Geben Sie die zu löschende Zeile mit dem Argument an
   #str.split(x)Teilen Sie str in eine Liste mit x als Trennzeichen auf
   #Listen Sie die durch Leerzeichen getrennten Zeichenfolgen auf(In-List-Notation), Pandas-Datenrahmen in der Serienklasse erstellen
results[:5]
results.value_counts()[:8]   #value_counts()Zählen Sie die Nummer desselben Elements mit

Elementanzahl (eine andere Methode)

cframe=frame[frame.a.notnull()]   #Ich habe nur diejenigen gesammelt, die in Spalte a des Rahmens nicht null sind(cframe['a']==frame.a.dropna())
bool(map(list,[cframe['a'],frame.a.dropna()]))   #rahmen Sie die Listenfunktion ein['a']Und Rahmen.a.dropna()Bewerben Sie sich bei und prüfen Sie, ob sie gleich sind

'Windows' or Not?

import numpy as np
operating_system=np.where(cframe['a'].str.contains('Windows'),'Windows','Not Windows')   #cframe['a']Aber'Windows'In True einschließlich der Zeichen'Windows'mit falsch'Not Windows'Gib es zurück
   #` ['Windows' if 'Windows' in x else 'Not Windows' for x in cframe['a']]`Gleich wie
operating_system[:5]

operating_system Another Way

operating_system2=['Windows' if 'Windows' in x else 'Not Windows' for x in cframe['a']]
bool(list(operating_system)==operating_system2)   #True


by_tz_os=cframe.groupby(['tz',operating_system])
agg_counts=by_tz_os.size().unstack().fillna(0)
agg_counts[:10]



																	#2016/07/28 22:56:30__
indexer=agg_counts.sum(1).argsort()   #argsort()Np-Index nach dem Sortieren.Gibt im Array-Format zurück
   #np.sum()Geben Sie grundsätzlich denjenigen zurück, der den gesamten Inhalt des Arrays hinzufügt

'''
# ABOUT np.sum()

>>> np.sum([[0, 1], [0, 5]], axis=0)
array([0, 6])   #return array([0+0],[1+5])
>>> np.sum([[0, 1], [0, 5]], axis=1)
array([1, 5])   #return array([0+1],[0+5])

'''

indexer[:10]


count_subset=agg_counts.take(indexer)[-10:]   #Agg nur 10 Minuten vom Ende des Indexers_Rückgabe zählt(take=erhalten)

count_subset.plot(kind='barh', stacked=True)
# plt.show()

Normalisierung (Beendigung ist 0,1 oder Verhältnis)

normed_subset=count_subset.div(count_subset.sum(1),axis=0)
normed_subset.plot(kind='barh',stacked=True)
# plt.show()

Recommended Posts

Einführung in die Datenanalyse mit Python P17-P26 [ch02 1.usa.gov Daten von bit.ly]
Lesehinweis: Einführung in die Datenanalyse mit Python
20200329_Einführung in die Datenanalyse mit Python 2nd Edition Personal Summary
Von der Einführung von JUMAN ++ bis zur morphologischen Analyse von Japanisch mit Python
Datenanalyse mit Python 2
Datenanalyse mit Python
[Einführung zur Minimierung] Datenanalyse mit SEIR-Modell ♬
[Python] Fluss vom Web-Scraping zur Datenanalyse
Ich habe versucht, fMRI-Daten mit Python zu analysieren (Einführung in die Dekodierung von Gehirninformationen)
So kratzen Sie Bilddaten von Flickr mit Python
[Technisches Buch] Einführung in die Datenanalyse mit Python -1 Kapitel Einführung-
[Impression] [Datenanalyse ab Null] Einführung in die Python-Datenwissenschaft in Geschäftsfällen
Einführung in Python für VBA-Benutzer - Aufrufen von Python aus Excel mit xlwings-
Meteorologie x Python ~ Von der Wetterdatenerfassung bis zur Spektrumanalyse ~
[Einführung in Python] So erhalten Sie Daten mit der Funktion listdir
Datenanalyse beginnend mit Python (Datenvisualisierung 1)
Einführung in die Bildanalyse opencv python
Datenanalyse beginnend mit Python (Datenvisualisierung 2)
Portiert von der R-Sprache von "Sazae-sans Janken Data Analysis" nach Python
Links zu Personen, die gerade mit der Datenanalyse mit Python beginnen
Ich las "Das Lernen mit Python von der Einführung bis zur Praxis stärken", Kapitel 1
Ich las "Das Lernen mit Python von der Einführung bis zur Praxis stärken", Kapitel 2
Empfangen Sie Textdaten von MySQL mit Python
[Hinweis] Mit Python Daten von PostgreSQL abrufen
[Einführung in Python3, Tag 17] Kapitel 8 Datenziele (8.1-8.2.5)
[Einführung in Python3, Tag 17] Kapitel 8 Datenziele (8.3-8.3.6.1)
Konvertieren Sie Excel-Daten mit Python in JSON
[Einführung in Python] Verwenden wir foreach mit Python
[Einführung in Python3 Tag 19] Kapitel 8 Datenziele (8.4-8.5)
[Einführung in Python3 Tag 18] Kapitel 8 Datenziele (8.3.6.2 bis 8.3.6.3)
Datenanalyse beginnend mit Python (Datenvorverarbeitung - maschinelles Lernen)
"Einführung in die Datenanalyse durch statistische Bayes'sche Modellierung beginnend mit R und Stan" in Python implementiert
[Einführung in Data Scientist] Grundlagen von Python ♬
[Data Science-Grundlagen] Ich habe versucht, mit Python von CSV auf MySQL zu speichern
Datenintegration von der Python-App unter Linux zu Amazon Redshift mit ODBC
Datenintegration von der Python-App unter Windows zu Amazon Redshift mit ODBC
Kopieren Sie Daten von Amazon S3 mit Python (boto) in Google Cloud Storage.
Datenanalyse Python
[Python] Einfache Einführung in das maschinelle Lernen mit Python (SVM)
Einführung in die künstliche Intelligenz mit Python 1 "Genetic Algorithm-Theory-"
Markov Chain Artificial Brainless mit Python + Janome (1) Einführung in Janome
Markov-Kette Künstlich Gehirnlos mit Python + Janome (2) Einführung in die Markov-Kette
Einführung in die künstliche Intelligenz mit Python 2 "Genetic Algorithm-Practice-"
Einführung in Tornado (1): Python Web Framework mit Tornado gestartet
Ich habe versucht, CloudWatch-Daten mit Python abzurufen
Eine Einführung in die statistische Modellierung für die Datenanalyse
[Einführung in Python] Umgang mit Daten im JSON-Format
Einführung in den Formationsflug mit Tello edu (Python)
Einführung in Python mit Atom (unterwegs)
Schreiben Sie CSV-Daten mit AWS-Lambda + Python in AWS-S3
Einführung in das Generalized Linear Model (GLM) von Python
[Einführung in die Udemy Python3 + -Anwendung] 9. Drucken Sie zunächst mit print
Von der Python-Umgebungskonstruktion zur virtuellen Umgebungskonstruktion mit Anaconda
Extrahieren Sie mit Python Daten von einer Webseite
[Python] Von der morphologischen Analyse von CSV-Daten bis zur CSV-Ausgabe und Diagrammanzeige [GiNZA]
[In-Database Python Analysis-Lernprogramm mit SQL Server 2017] Schritt 2: Importieren Sie Daten mit PowerShell in SQL Server
[Einführung in Python] So erhalten Sie den Datenindex mit der for-Anweisung