Mindmap-Galerie Intelligente Statistiktechnologie
Es erklärt ausführlich die Verwendung der Numpy-, Pandas- und Plt-Bibliotheken. Die Einführung ist detailliert und das Wissen ist umfassend. Ich hoffe, es kann für alle hilfreich sein.
Bearbeitet um 2024-02-04 00:48:40Einhundert Jahre Einsamkeit ist das Meisterwerk von Gabriel Garcia Marquez. Die Lektüre dieses Buches beginnt mit der Klärung der Beziehungen zwischen den Figuren. Im Mittelpunkt steht die Familie Buendía, deren Wohlstand und Niedergang, interne Beziehungen und politische Kämpfe, Selbstvermischung und Wiedergeburt im Laufe von hundert Jahren erzählt werden.
Einhundert Jahre Einsamkeit ist das Meisterwerk von Gabriel Garcia Marquez. Die Lektüre dieses Buches beginnt mit der Klärung der Beziehungen zwischen den Figuren. Im Mittelpunkt steht die Familie Buendía, deren Wohlstand und Niedergang, interne Beziehungen und politische Kämpfe, Selbstvermischung und Wiedergeburt im Laufe von hundert Jahren erzählt werden.
Projektmanagement ist der Prozess der Anwendung von Fachwissen, Fähigkeiten, Werkzeugen und Methoden auf die Projektaktivitäten, so dass das Projekt die festgelegten Anforderungen und Erwartungen im Rahmen der begrenzten Ressourcen erreichen oder übertreffen kann. Dieses Diagramm bietet einen umfassenden Überblick über die 8 Komponenten des Projektmanagementprozesses und kann als generische Vorlage verwendet werden.
Einhundert Jahre Einsamkeit ist das Meisterwerk von Gabriel Garcia Marquez. Die Lektüre dieses Buches beginnt mit der Klärung der Beziehungen zwischen den Figuren. Im Mittelpunkt steht die Familie Buendía, deren Wohlstand und Niedergang, interne Beziehungen und politische Kämpfe, Selbstvermischung und Wiedergeburt im Laufe von hundert Jahren erzählt werden.
Einhundert Jahre Einsamkeit ist das Meisterwerk von Gabriel Garcia Marquez. Die Lektüre dieses Buches beginnt mit der Klärung der Beziehungen zwischen den Figuren. Im Mittelpunkt steht die Familie Buendía, deren Wohlstand und Niedergang, interne Beziehungen und politische Kämpfe, Selbstvermischung und Wiedergeburt im Laufe von hundert Jahren erzählt werden.
Projektmanagement ist der Prozess der Anwendung von Fachwissen, Fähigkeiten, Werkzeugen und Methoden auf die Projektaktivitäten, so dass das Projekt die festgelegten Anforderungen und Erwartungen im Rahmen der begrenzten Ressourcen erreichen oder übertreffen kann. Dieses Diagramm bietet einen umfassenden Überblick über die 8 Komponenten des Projektmanagementprozesses und kann als generische Vorlage verwendet werden.
Intelligente Statistiktechnologie
Einführung
Lehrbuch
Statistisches Denken: Wahrscheinlichkeitsstatistik für Programmierer, Mathematik
Python-Datenanalyse und -anwendung
Daten analysieren
klares Ziel
Voraussetzungen
Richtung
Datensammlung
Datenbank
andere
Datenverarbeitung
Reinigung (Vorbehandlung)
Konvertieren
Extrakt
Berechnung
Datenanalyse
Datenanalyse
Pandas
Data-Mining
Datenanzeige
Diagramm
Blatt
Wort
Inhalt
Wahrscheinlichkeitstheorie
Statistiken
Implementierung quantitativer Analysen
Bibliothek aufgerufen
NumPy
Array- und Matrixoperationen
Äußerst effizient
Matplotlib
Diagramme, Visualisierungen
Pandas
Herkunft des Namens
Paneldaten und Datenanalyse
Funktion
Datenanalyse und -exploration
Erweiterte Datenstrukturen
Serie
Eindimensionale Daten
DataFream
2D-Daten
NumPy
einführen
Leistungsstarkes N-dimensionales Array ndarray
Broadcast-Funktion Funktion ufunc
Tools zur Integration von C/C/Fortran-Code
Lineare Algebra, Fourier-Transformation, Zufallszahlengenerierung und andere Funktionen
ndarray
Wirkung
Speichert ein mehrdimensionales Array eines einzelnen Datentyps
erstellen
Erstellen Sie mehrdimensionale Arrays aus vorhandenen Daten
Aus Liste erstellen, Tupelobjekte - array()
np.array(object, dtype=None, copy=True, order='K', subok=False, ndmin=0)
Objekt – Listen- oder Tupelobjekt, obligatorischer Parameter
dtype – Datentyp
kopieren – das Objekt wird kopiert
Reihenfolge – Ordnen Sie das Array in einer bestimmten Reihenfolge an: C – nach Zeile; F – nach Spalte; A – nach Spalte, wenn die Eingabe F ist; andernfalls nach Zeile;
subok – Das zurückgegebene Array wird in ein Basisklassen-Array umgewandelt
ndmin – Mindestdimension
Aus einem String lesen - fromstring()
np.fromstring(string, dtype=float, count=-1, sep=“)
Erstellen Sie ein mehrdimensionales Array mit einer bestimmten Form
Erstellen Sie ein „alle 1“-Array - ones()
np.ones(shape, dtype=None, order='C')
Erstellen Sie ein Array mit „alle Nullen“ – zeros()
np.zeros(shape, dtype=float, order='C')
Erstellen Sie ein leeres Array – empty()
np.empty(shape, dtype=float, order='C')
Füllen Sie das Array autonom - full()
np.full(shape, fill_value, dtype=None, order='C')
Identitätsmatrix erstellen – eye()
np.full(n)
Erstellen Sie ein mehrdimensionales Array aus einem numerischen Bereich
Erstellen Sie ein Array arithmetischer Sequenzen - arange()
np.arange(start=0, stop, step=1, dtype=None)
Erstellen Sie ein Array arithmetischer Folgen – linspace()
np.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)
num ist die Anzahl gleicher Teile
Attribute
ndim
Maße
Form
Länge jeder Dimension
Größe
Gesamtzahl der Elemente
dtype
Elementtyp
Artikelgröße
Die Größe jedes Elements im Array
Indizieren und Schneiden
Gleich wie Liste
Methode
umformen(a,b)
Wechseln Sie zu einer Matrix mit Zeile a und Spalte b
wiederholen(4, Achse=1)
Viermal kopieren und rechts hinzufügen
numpy.random
np.random.rand(2, 3)
Der numerische Wert ist [0,1], 2 Zeilen und 3 Spalten
np.random.randint(5, size = (2, 3))
Wert kleiner als 5, 2 Zeilen und 3 Spalten
NumPy-Matrix
Ist eine Unterklasse von ndarray
Matrix erstellen
Verwenden Sie Semikolons, um Daten zu trennen
matr1 = np.mat("1 2 3;4 5 6;7 8 9")
Erstellen Sie eine Matrix mithilfe von Listen
matr2 = np.matrix([[1,2,3],[4,5,6],[7,8,9]])
Kombinieren Sie kleine Matrizen zu großen Matrizen
matr3 = np.bmat("arr1 arr2; arr1 arr2")
Matrixeigenschaften
Matrixoperationen
ufunc-Funktion
Wirkung
Funktionen, die ndarray-Arrays verarbeiten können, können direkt verwendet werden.
Gemeinsame Operationen
Arithmetik
Vergleichsoperation
logische Operation
Die Funktion np.all(x) bedeutet die Verwendung eines logischen UND für x
Die Funktion np.any(x) bedeutet die Verwendung eines logischen ODER für x
Broadcast-Mechanismus
Bezieht sich auf die Art und Weise, wie arithmetische Operationen zwischen Arrays unterschiedlicher Form ausgeführt werden
grundsätzlich
Alle Eingabearrays werden an dem Array mit der längsten Form ausgerichtet und der fehlende Teil der Form wird durch Hinzufügen von 1 vorne ausgeglichen.
Die Form des Ausgabearrays ist der Maximalwert auf jeder Achse der Eingabearrayform
Wenn eine Achse des Eingabearrays die gleiche Länge hat wie die entsprechende Achse des Ausgabearrays oder ihre Länge 1 beträgt, dann kann dieses Array zur Berechnung verwendet werden, andernfalls tritt ein Fehler auf
Wenn die Länge einer Achse des Eingabearrays 1 beträgt, wird beim Betrieb entlang dieser Achse der erste Wertesatz auf dieser Achse verwendet.
Dateien lesen und schreiben
Binärdatei
numpy.save(file, arr,allow_pickle=True, fix_imports=True)
Hinweis: Das Verzeichnis im Speicherpfad muss existieren! Die Speicherfunktion erstellt keine automatischen Verzeichnisse.
numpy.load(file, mmap_mode=None,allow_pickle=True, fix_imports=True, binding='ASCII')
Textdatei
np.savetxt(fname, X, fmt='%.18e', delimiter='', newline=' ', header='', footer='', comments='# ')
numpy.loadtxt(DATEINAME, dtype=int, delimiter='')
Einfache Analyse
Sortieren
direkte Sortierung
Bezieht sich auf das direkte Sortieren von Werten
numpy.sort(a, axis, kind, order)
A
Array zum Sortieren
Achse
Die Achse, entlang der das Array sortiert wird, oder entlang der letzten Achse, wenn kein Array erweitert wird
Art
Der Standardwert ist „quicksort“ (schnelle Sortierung).
Befehl
Wenn das Array Felder enthält, ist das Feld, nach dem sortiert werden soll
indirekte Sortierung
Bezieht sich auf das Sortieren eines Datensatzes basierend auf einem oder mehreren Schlüsseln
numpy.argsort(a)
Die Funktion führt eine indirekte Sortierung des Eingabearrays entlang der angegebenen Achse durch und gibt ein Array von Indizes (Indizes) der Daten unter Verwendung des angegebenen Sortiertyps zurück.
numpy.lexsort(a,b)
Die Funktion führt eine indirekte Sortierung mithilfe einer Schlüsselfolge durch, die man sich wie eine Spalte in einer Tabelle vorstellen kann, und gibt ein Array von Indizes (Indizes) zurück.
Duplikate entfernen
numpy.unique
statistische Funktion
matplotlib
einführen
Bietet eine Fülle mathematischer Zeichenfunktionen, mit denen sich Datendiagramme problemlos zeichnen lassen.
Andere visuelle statistische Tools
echart
Wortwolke
Standardmethode
Grundlegender Prozess
Leinwand erstellen
<Ob ein Untergraph erstellt werden soll>
Ausgewählte Nebenhandlung
Legen Sie die X- und Y-Achse fest
Legende hinzufügen (Details)
<Ob die Zeichnung abgeschlossen ist>
Anzeige speichern
Schrittanalyse
Leinwand erstellen
plt.figure(figsize=(x,y))
Wenn Sie über eine Leinwand verfügen, können Sie mehrere Grafiken erstellen
plt.subplot(nrows, ncols, index)
Der Parameter nrows gibt an, in wie viele Zeilen der Datendiagrammbereich unterteilt ist
Der Parameter ncols gibt an, in wie viele Spalten der Datendiagrammbereich unterteilt ist
Der Indexparameter gibt an, welcher Bereich abgerufen werden soll
Ausgewählte Nebenhandlung
Liniendiagramm
Handlung
Streudiagramm
streuen
Balkendiagramm
Ebene
Bar
Vertikale
barh
Histogramm
hist
Kuchendiagramm
Kuchen
...
Legen Sie die X- und Y-Achse fest
Äxte
Handlung
plt.plot(x,y)
x und y sind zwei Arrays. Wenn Sie nur eines eingeben, ist die Standard-x-Achse der Array-Index.
Es gibt auch Parameter wie Farbe, Transparenz, Stil, Breite usw.
plt.plot(x, y, color='green',alpha=0.5,linestyle='-',linewidth=3,marker='*')
Legende hinzufügen (Details)
Titel, Ober- und Untergrenzen des Intervalls, Legende, Segmentierung, Layout, Achse usw.
Titel festlegen
plt.xlabel('Zeit')
plt.ylabel("Temp")
plt.title('Titel')
Chinesische Anzeige
plt.rcParams['font.sans-serif'] = ['SimHei']
Benutzerdefinierte X-Achsen-Skala
plt.xticks(range(0,len(x),4),x[::4],rotation=45)
X-Achsen-Intervall sowie Ober- und Untergrenzen
plt.set_xlim([xmin, xmax]) #Legen Sie das X-Achsen-Intervall fest
plt.axis([xmin, xmax, ymin, ymax]) #X-, Y-Achsenintervall
plt.set_ylim(bottom=-10) Untergrenze der #Y-Achse
plt.set_xlim(right=25) #Obergrenze der X-Achse
schnelle Methode
matplotlib.pyplot als plt importieren plt.plot(x,y) plt.show()
Pandas
Merkmale
Es stellt einfache, effiziente Objekte mit Standardbeschriftungen bereit (Sie können Beschriftungen auch anpassen).
Möglichkeit, schnell Daten aus Dateien in verschiedenen Formaten (z. B. Excel-, CSV-, SQL-Dateien) zu laden und sie dann in verarbeitbare Objekte zu konvertieren;
Kann Daten nach Zeilen- und Spaltenbeschriftungen gruppieren und Aggregations- und Transformationsvorgänge für gruppierte Objekte durchführen;
Es kann problemlos Datennormalisierungsvorgänge und die Verarbeitung fehlender Werte implementieren.
Es ist einfach, Datenspalten von DataFrame hinzuzufügen, zu ändern oder zu löschen.
Kann Datensätze in verschiedenen Formaten verarbeiten, z. B. Matrixdaten, heterogene Datentabellen, Zeitreihen usw.;
Bietet eine Vielzahl von Möglichkeiten zur Verarbeitung von Datensätzen, z. B. das Erstellen von Teilmengen, das Aufteilen, Filtern, Gruppieren und Neuordnen.
Integrierte Datenstrukturen
Serie
Definition
1 Dimension, in der Lage, verschiedene Datentypen wie Zeichen, Ganzzahlen, Gleitkommazahlen, Python-Objekte usw. zu speichern. Die Serie verwendet Namens- und Indexattribute, um Datenwerte zu beschreiben.
erstellen
s=pd.Series(data, index, dtype, copy)
Daten
Die Eingabedaten können Skalare, Listen, Wörterbücher, Ndarray-Arrays usw. sein.
Index
Der Indexwert muss eindeutig sein. Wenn kein Index übergeben wird, wird standardmäßig np.arrange(n) verwendet.
dtype
dtype stellt den Datentyp dar. Wenn er nicht angegeben wird, wird er automatisch bestimmt.
Kopieren
Zeigt das Kopieren von Daten an. Der Standardwert ist False.
Grundoperationen
Zugang
tiefgestellter Index
Ähnliche Liste
Tag-Index
Ähnlich wie im Wörterbuch
Numpy-Berechnungen und -Operationen sind anwendbar
Kann in Scheiben geschnitten werden
Gemeinsame Eigenschaften
dtype
Gibt den Datentyp des Objekts zurück.
leer
Gibt ein leeres Series-Objekt zurück.
ndim
Gibt die Dimensionalität der Eingabedaten zurück.
Größe
Gibt die Anzahl der Elemente der Eingabedaten zurück.
Der Unterschied zwischen Größe und Anzahl: Die Größe umfasst beim Zählen NaN-Werte, die Anzahl jedoch keine NaN-Werte.
Werte
Gibt ein Series-Objekt als Ndarray zurück.
Index
Gibt ein RangeIndex-Objekt zurück, das zur Beschreibung des Wertebereichs des Index verwendet wird.
Gängige Methoden
beschreiben()
count: Mengenstatistik, wie viele gültige Werte gibt es in dieser Spalte? unipue: Wie viele verschiedene Werte gibt es? std: Standardabweichung min: Mindestwert 25 %: Quartil 50 %: halbes Perzentil 75 %: drei Viertel max: Maximalwert bedeuten: bedeuten
head()&tail() zum Anzeigen von Daten
head(n) gibt die ersten n Datenzeilen zurück und zeigt standardmäßig die ersten 5 Datenzeilen an
tail(n) gibt die letzten n Datenzeilen zurück, der Standardwert sind die letzten 5 Zeilen
isnull()&nonull() erkennt fehlende Werte
isnull(): Gibt True zurück, wenn der Wert nicht existiert oder fehlt.
notnull(): Gibt False zurück, wenn der Wert nicht existiert oder fehlt.
value_counts
Statistische Häufigkeit
Datenrahmen
Definition
2 Dimensionen, sowohl Zeilenindex als auch Spaltenindex. Der Zeilenindex ist index und der Spaltenindex ist columns. Beim Erstellen der Struktur können Sie den entsprechenden Indexwert angeben.
Der Datentyp jeder Spalte in der Tabelle kann unterschiedlich sein, z. B. Zeichenfolge, Ganzzahl oder Gleitkomma usw.
erstellen
df =pd.DataFrame(data, index, columns, dtype, copy)
Daten
Die Eingabedaten können eine Liste, eine verschachtelte Wörterbuchliste, ein verschachteltes Listenwörterbuch, eine Reihe in Form eines Wörterbuchs usw. sein.
Spaltenindexoperationen
Der Spaltenindex wählt Datenspalten aus
print(df ['eins'])
print(df[['Wort', 'Chinesisches Schriftzeichen', 'Bedeutung']])
Der Spaltenindex fügt eine Datenspalte hinzu
df['drei']=pd.Series([10,20,30],index=['a','b','c'])
df['vier']=df['eins'] df['drei']
df.insert(1,column='score',value=[91,90,75])
Der Wert 1 stellt die in die Spaltenliste eingefügte Indexposition dar
Spaltenindex Datenspalte löschen
df.pop('zwei')
Extrahierte Spalten aufteilen
df[df[‘column_name’] == some_value]
Zeilenindexoperationen
Tag-Index
df1.loc["b": "e", "bx": "ex"]
Zuerst reihen, dann anstehen
tiefgestellter Index
df1.iloc[2 : 6, 2 : 4]
Zuerst reihen, dann anstehen
Hybridindex
df1.ix[2 : 6, „bx“ : „ex“]
Zuerst reihen, dann anstehen
Mehrzeilige Auswahl beim Slicing-Vorgang
df[2 : 4]
Datenzeile hinzufügen
df = df.append(df2)
Datenzeile löschen
df = df.drop(0)
Geteilte Abrufzeilen
df.loc[df['column_name'] == str]
Ausgabezeilen, in denen eine Spalte NaN ist
df[df['word'].isna()]
Gemeinsame Eigenschaften
T
Zeilen- und Spaltentransponierung.
Achsen
Gibt eine Liste zurück, die nur Zeilen- und Spaltenachsenbeschriftungen als Elemente enthält.
dtypes
Gibt den Datentyp jeder Datenspalte zurück.
leer
Wenn im DataFrame keine Daten vorhanden sind oder die Länge einer Koordinatenachse 0 ist, wird True zurückgegeben.
ndim
Die Anzahl der Achsen bezieht sich auch auf die Dimension des Arrays.
Form
Gibt ein Tupel (a,b) zurück, wobei a die Anzahl der Zeilen und b die Anzahl der Spalten darstellt.
Größe
Anzahl der Elemente im DataFrame
Der Unterschied zwischen Größe und Anzahl: Die Größe umfasst beim Zählen NaN-Werte, die Anzahl jedoch keine NaN-Werte.
Werte
Verwenden Sie Numpy-Arrays, um Elementwerte in einem DataFrame darzustellen
Gängige Methoden
beschreiben(include='all')
Wie Serie
Ohne Parameter werden nur numerische Spalten gezählt.
head()&tail()
Wie Serie
die Info()
Informationen anzeigen
Schicht()
Verschieben Sie Zeilen oder Spalten um die angegebene Schrittlänge
Pivot()
Konvertieren Sie die Spalten in einem Datenrahmen, sodass eine bestimmte Spalte zu einem neuen Zeilenindex wird, und füllen Sie die diesem Index entsprechende Zelle mit dem Wert einer anderen Spalte.
Parameter
index: der Spaltenname, der zum neuen Zeilenindex wird
columns: Der Spaltenname, der zum neuen Spaltenindex wird
Werte: die Spaltennamen, die die Zellen zwischen dem neuen Zeilenindex und dem neuen Spaltenindex füllen
sort_values(by=‘Spaltenname oder Indexwert für die Sortierung’, Achse=0, aufsteigend=True, inplace=False, kind=‘quicksort’, na_position=‘last’,ignore_index=False, key=None)
sort_index(axis=0, level=Keine, aufsteigend=True, inplace=False, kind='quicksort', na_position='last', sort_remaining=True,ignore_index=False, key=None)
Achse: Die Achse ist standardmäßig auf 0 eingestellt, was bedeutet, dass nach dem Zeilenindex sortiert wird. Die Achse ist auf 1 gesetzt, was bedeutet, dass nach dem Spaltenindex sortiert wird Ebene: Der Standardwert ist „Keine“, andernfalls wird sie in der angegebenen Ebenenreihenfolge angeordnet. aufsteigend: Der Standardwert „Aufsteigend“ ist „True“, also eine aufsteigende Reihenfolge. Wenn der Wert auf „Falsch“ gesetzt ist, ist die Reihenfolge absteigend. inplace: Standardmäßig False, andernfalls ersetzen die sortierten Daten direkt den ursprünglichen Datenrahmen. Art: Sortiermethode, {‘quicksort‘, ‚mergesort‘, ‚heapsort‘}, Standard ‚quicksort‘. Benutzer können wählen na_position: Fehlende Werte werden standardmäßig als letztes eingestuft {"first", "last"}, der Parameter "first" setzt NaN an den Anfang und "last" setzt NaN ans Ende. ignore_index: Boolescher Wert, Standardwert ist „Falsch“. Wenn er „True“ ist, wird die Achse mit den Bezeichnungen 0, 1, 2 versehen Schlüssel: Dies ist eine aufrufbare Funktion, die vor dem Sortieren die Schlüsselfunktion für den Indexwert ausführt. Dies ähnelt in gewisser Weise der Schlüsselfunktion in der integrierten Funktion sorted()
Traverse
Durchlaufen Sie jede Zeile
für Index, Zeile in df.iterrows():
Durchlaufen Sie jede Spalte
für Spalte, Wert in df.iteritems():
Bereinigen der Datentabelle
Füllen Sie leere Werte mit der Zahl 0
df.fillna(Wert=0)
Verwenden Sie den Mittelwert der Spalte Prince, um die Spalte NA zu füllen
df['prince'].fillna(df['prince'].mean())
Freie Zeichenfelder im Stadtfeld
df['city']=df['city'].map(str.strip)
Fallkonvertierung
df['city']=df['city'].str.lower()
Datentypkonvertierung
df['price'].astype(int)
Spalten-/Zeilenindex ändern
Alles ändern
Handschriftliches Register
df.columns=['a','b','c']
df.index=['a','b','c']
Referenzindex
df.set_columns("idx",inplace=False)
df.set_index("col",inplace=False)
Teilweise Modifikation
df.rename(columns={'category': 'category-size'},inplace=False)
df.rename(index={'category': 'category-size'},inplace=False)
wiederholen
Duplikate finden: df.duplicated() kann ein boolesches Array zurückgeben, das angibt, ob jede Zeile ein Duplikat ist.
Doppelte Werte, die nach dem Löschen angezeigt werden
df['city'].drop_duplicates()
Entfernen Sie doppelte Werte, die zuerst angezeigt werden
df['city'].drop_duplicates(keep='last')
Wählen Sie den Primärschlüssel aus
subset=['Studentennummer']
NaN entfernen
df2=df.dropna(axis=0,how="all",inplace=False)
how="all" bedeutet, dass eine bestimmte Zeile (Spalte) nur gelöscht wird, wenn alle NaNs vorhanden sind. how="any" bedeutet, dass, solange ein NaN vorhanden ist, es gelöscht wird (Standard)
Datenaustausch
df['city'].replace('sh', 'shanghai')
Datentabellenzusammenführung
verschmelzen
pd=pd.merge(df,df1,how='inner') #match, merge, interaction, default df_left=pd.merge(df,df1,how='left') df_right=pd.merge(df,df1,how='right') df_outer=pd.merge(df,df1,how='outer') #Union, der Effekt ist der gleiche wie bei den ersten beiden Kombinationen
anhängen
Da es veraltet ist, wird die Verwendung von concat empfohlen
verbinden
Konkat
pd.concat(objs,axis=0,join='outer',join_axes=None,ignore_index=False,keys=None,levels=None,names=None,verify_integrity=False,copy=True)
Statistiken
var()
Varianz
cov()
Kovarianz
Zusammenfassung
Probe 1
df = pd.DataFrame({ 'A': ['a', 'b', 'a', 'c', 'a', 'c', 'b', 'c'], 'B': [2, 8, 1, 4, 3, 2, 5, 9], 'C': [102, 98, 107, 104, 115, 87, 92, 123]})
Methode
Gruppieren Sie nach Spalte A und ermitteln Sie den Mittelwert der anderen Spalten
df.groupby('A').mean()
Nehmen Sie eine bestimmte Spalte heraus
print(df.groupby('key1')['data1'].mean())
Nach mehreren Spalten gruppieren (groupby)
df.groupby(['A','B']).mean()
Probe 2
df = pd.DataFrame({' A': Liste('XYZXYZXYZX'), 'B': [1, 2, 1, 3, 1, 2, 3, 3, 1, 2], 'C': [12, 14, 11, 12, 13, 14, 16, 12, 10, 19]})
Methode
Führen Sie verschiedene statistische Operationen durch, wenn Sie agg() für eine Spalte verwenden
df.groupby('A')['B'].agg({'mean':np.mean, 'standard Abweichung': np.std})
Lambda-Betrieb
Entschädigung für Minderheitspunkte
df['ExtraScore'] = df['Nationalität'].apply (Lambda x : 5 wenn x != '汉' sonst 0)
Bestehen der Prüfung
df['pass_reading'] = df['reading partitur'].apply (Lambda x: „Bestanden“, wenn x >= 60, sonst „Nicht bestanden“)
Ein Bild malen
ax = series1.plot(kind='bar')
fig = ax.get_figure() fig.subplots_adjust(bottom=0.4) fig.savefig('output.png')
pd.plot(kind='scatter',x="a",y="b",alpha=0.1)
Alpha ist Transparenz
pd.hist(bins=50,figsize=(7,7))
Dateneingabe und -ausgabe
eingeben
CSV lesen
df = pd.read_csv("mtcars.csv",kodierung="utf-8")
Schreiben Sie nach Excel
df = pd.read_excel("mtcars.csv")
Ausgabe
Schreiben Sie nach Excel
pd.to_excel('excel_to_python.xlsx', sheet_name='bluewhale_cc')
Schreiben Sie in CSV
pd.to_csv('excel_to_python.csv')
Der Unterschied zwischen Pandas und NumPy
Terminzeit
1).date-Unterklasse kann Datums- und Zeitreihendaten erstellen, 2).time-Unterklasse kann Stunden- und Minutenzeitdaten erstellen und 3).datetime-Unterklasse kann Datums- und Stunden- und Minutendaten beschreiben.
Datum/Uhrzeit importieren cur = datetime.datetime(2018,12,30, 15,30,59) print cur,type(cur) d = datetime.date(2018,12,30) drucken d t = datetime.datetime(2018,12,30).now() drucken t
30.12.2018 15:30:59 <Typ 'datetime.datetime'> 30.12.2018 16.12.2018 15:35:42.757826
4). Sie können das Timedelta-Modul von datetime verwenden, um das Zeitintervall (Differenz) anzugeben.
Datum/Uhrzeit importieren cur0 = datetime.datetime(2018,12,30, 15,30,59) cur0 drucken cur1 = cur0 datetime.timedelta(days = 1) cur1 drucken cur2 = cur0 datetime.timedelta(Minuten = 10) cur2 drucken cur3 = cur0 datetime.timedelta(Minuten = 29, Sekunden = 1) cur3 drucken
30.12.2018 15:30:59 #cur0 31.12.2018 15:30:59 #cur1 30.12.2018 15:40:59 #cur2 30.12.2018 16:00:00 #cur3
Erstellen Sie Zeitreihendaten mit Datum/Uhrzeit-Daten. Dies bedeutet, dass die Erstellungszeit von datetime als Index verwendet wird.
aus datetime import datetime, timedelta numpy als np importieren Pandas als PD importieren b = datetime(2018,12,16, 17,30,55) vi = np.random.randn(60) ind = [] für x im Bereich(60): bi = b timedelta(Minuten = x) ind.append(bi) ts = pd.Series(vi, index = ind) ts[:5] drucken
16.12.2018 17:30:55 -1.469098 16.12.2018 17:31:55 -0,583046 16.12.2018 17:32:55 -0,775167 16.12.2018 17:33:55 -0,740570 16.12.2018 17:34:55 -0,287118 dtype: float64
Auffüllen
Art
Hist-Klasse
Ordnet einen Wert einer durch eine Ganzzahl dargestellten Menge zu
PMF-Klasse
Ordnet einen Wert einer als Gleitkommazahl ausgedrückten Wahrscheinlichkeit zu
Der obige Vorgang wird als Normalisierung bezeichnet, d. h. die Wahrscheinlichkeit summiert sich zu 1
CDF-Klasse
Nachteile von PMF
Anwendbarkeit von PMF: Wenn die zu verarbeitenden Daten relativ klein sind
Mit zunehmender Datenmenge nimmt die Wahrscheinlichkeit jedes Werts ab und die Auswirkung von Zufallsrauschen nimmt zu.
Lösung
Datengruppierung: Die Bestimmung der Größe des Gruppierungsintervalls erfordert Fähigkeiten
Wenn das Gruppierungsintervall groß genug ist, um Rauschen zu eliminieren, können nützliche Informationen verworfen werden.
CDF
Verteilungsfunktion
Es kann die Wahrscheinlichkeitsverteilung einer realen Zufallsvariablen X vollständig beschreiben, die das Integral der Wahrscheinlichkeitsdichtefunktion ist.
Perzentilrang
Nehmen Sie als Beispiel Testergebnisse: Sie werden in zwei Formen präsentiert 1. Rohergebnis 2. Prozentrang: Der Anteil der Personen, deren ursprüngliche Punktzahl nicht höher ist als Ihre, an der Gesamtzahl der Testteilnehmer wird mit 100 multipliziert. Zum Beispiel: Wenn jemand im 90. Perzentil liegt, bedeutet das, dass seine oder ihre Punktzahl besser ist als die von 90 % der Personen oder zumindest nicht schlechter als die von 90 % der Testteilnehmer.
Nach der Berechnung des CDF können Perzentil und Perzentilrang einfacher berechnet werden.
Funktion
PercentileRank(x)
Berechnen Sie für einen gegebenen Wert x seinen Perzentilrang
100*CDF(x)
Perzentil (p): Berechnen Sie für einen bestimmten Perzentilrang den entsprechenden Wert x;
Interquartilbereich
Quartile
Der Interquartilbereich ist ein Indikator in der Statistik, der die Verteilung diskreter Daten beschreibt. Es repräsentiert jeweils die 25., 50. und 75. Perzentilposition in den Daten.
Interquartilbereich
Das obere Quartil abzüglich des unteren Quartils ergibt den Vierviertelbereich.
Wirkung
Der Interquartilbereich stellt den Grad der Streuung der Daten dar. Je größer der Bereich, desto höher der Grad der Streuung der Daten.
Box-Plot
Mit dem Minimalwert, dem unteren Quartil, dem Median, dem oberen Quartil und dem Maximalwert können wir ein Boxplot zeichnen.
Ausreißer
Wir können übrigens eine Möglichkeit einführen, Ausreißer zu definieren: Wenn ein Wert extrem klein ist, also kleiner als das untere Quartil minus dem 1,5-fachen des Interquartilbereichs, kann er entsprechend als Ausreißer gezählt werden, wenn ein Wert extrem groß ist kleiner als das untere Quartil minus dem 1,5-fachen Interquartilabstand. Das obere Quartil plus dem 1,5-fachen Interquartilabstand ist sogar noch größer und kann ebenfalls als Ausreißer gezählt werden.
CCDF(a) = P(X > a)= 1- CDF(a)
Konzept
PDF: Wahrscheinlichkeitsdichtefunktion. In der Mathematik ist die Wahrscheinlichkeitsdichtefunktion einer kontinuierlichen Zufallsvariablen (sie kann als Dichtefunktion bezeichnet werden) ein Ausgabewert, der die Zufallsvariable beschreibt die Wahrscheinlichkeit in der Nähe eines Wertpunkts.
PMF: Wahrscheinlichkeitsmassenfunktion In der Wahrscheinlichkeitstheorie ist die Wahrscheinlichkeitsmassenfunktion die Wahrscheinlichkeit, dass eine diskrete Zufallsvariable einen bestimmten Wert annimmt.
CDF: Die kumulative Verteilungsfunktion (kumulative Verteilungsfunktion), auch Verteilungsfunktion genannt, ist das Integral der Wahrscheinlichkeitsdichtefunktion, das die Wahrscheinlichkeitsverteilung einer realen Zufallsvariablen X vollständig beschreiben kann.
Verteilungsmodellierung
Indexverteilung
Normalverteilung
Wahrscheinlichkeitsdichtefunktion
Verteilungsfunktion
Lognormalverteilung
Wenn eine Menge von Werten nach der logarithmischen Transformation einer Normalverteilung folgt, spricht man von einer logarithmischen Normalverteilung. Das heißt, verwenden Sie log(x), um x in der Normalverteilung zu ersetzen.
Pareto-Verteilung Pareto
Beziehung zwischen Variablen
Kovarianz
Kovarianz kann verwendet werden, um zu messen, ob die sich ändernden Trends verwandter Variablen gleich sind, und sie kann auch verwendet werden, um den Gesamtfehler zweier Variablen zu messen.
Da Werte und Einheiten schwer zu interpretieren sind, werden sie im Allgemeinen seltener verwendet.
Varianz kann als Sonderfall der Kovarianz betrachtet werden, wenn zwei Variablen identisch sind.
Wenn die sich ändernden Trends zweier Variablen konsistent sind, das heißt, wenn eine von ihnen größer ist als ihr eigener erwarteter Wert und die andere größer ist als ihr eigener erwarteter Wert, dann ist die Kovarianz zwischen den beiden Variablen positiv;
Wenn die sich ändernden Trends zweier Variablen entgegengesetzt sind, das heißt, eine Variable ist größer als ihr eigener erwarteter Wert und die andere kleiner als ihr eigener erwarteter Wert, dann ist die Kovarianz zwischen den beiden Variablen negativ;
Pearson-Rang Pearson
Geltungsbereich
Die Verteilung der beiden Datenvariablen ist normal und es besteht eine lineare Beziehung zwischen beiden.
Ersetzen Sie den ursprünglichen Wert durch den Standardbruch und berechnen Sie das Produkt zweier Standardbrüche
wird Pearson-Korrelationskoeffizient genannt, wobei -1<=p<=1, p=1: Zeigt an, dass die beiden Variablen vollständig positiv korreliert sind; p=-1: Zeigt an, dass die beiden Variablen vollständig negativ korreliert sind;
Spearman-Rang Speermann
Geltungsbereich
Es gibt Ausreißer und die Variablenverteilung ist sehr asymmetrisch:
Berechnen Sie zunächst den Rang des Werts in der Sequenz, dh die sortierte Position eines Werts in der Sequenz, und berechnen Sie dann den Pearson-Korrelationskoeffizienten des Rangs.
Probe
Reihenfolge {7, 1, 2, 5} Sortieren Sie die Sequenz von klein nach groß. Das Ergebnis ist {4, 1, 2, 3} Der Rang von 5 ist also 3