Um zwischen Standard-Python, Numpy, Pandas hin und her zu gehen ①

Da scikitlearn nur Numpy akzeptiert, muss es nach der Verarbeitung der Daten mit Pandas in ein Numpy-Array konvertiert werden. Standard-Python, Numpy und Pandas sind aufgrund überlappender Funktionen verwirrt. Fassen Sie daher zunächst die Grundlagen der Grundlagen zusammen.

python


#!/usr/bin/env python
# -*- coding: utf-8 -*-

#importieren
import numpy as np
import scipy as py
import pandas as pd
import itertools as it


'''
Erstellen
'''
#Listenerstellung
list_value = [10,11,12]
list_value
Out[374]: [10, 11, 12]

#Taple-Erstellung
tuple_value = (10,11,12)
tuple_value
Out[375]: (10, 11, 12)

#Wörterbucherstellung
dict_value = {0:10,1:11,2:12}
dict_value
Out[376]: {0: 10, 1: 11, 2: 12}

#Set-Erstellung
set_value = {10,11,12}
set_value
Out[377]: {10, 11, 12}

#Numpy-Array-Erstellung
ndarray_value = np.array([10,11,12], dtype=np.int32)
ndarray_value
Out[378]: array([10, 11, 12], dtype=int32)

#Pandas Serie Erstellung
series_value = pd.Series({0:10,1:11,2:12})
series_value
Out[379]: 
0    10
1    11
2    12
dtype: int64

#Pandas Datenrahmenerstellung
dataframe_value = pd.DataFrame({'seq':[10,11,12]})
dataframe_value
Out[380]: 
   seq
0   10
1   11
2   12


'''
Typ (Klasse)
'''
#Integer-Typ (Klasse)
type(1)
Out[382]: int

#Minderheitentyp (Klasse)
type(0.1)
Out[383]: float

#Zeichenfolgentyp (Klasse)
type('abc')
Out[384]: str

#Listentyp (Klasse)
type(list_value)
Out[385]: list

#Taple-Typ (Klasse)
type(tuple_value)
Out[386]: tuple

#Wörterbuchtyp (Klasse)
type(dict_value)
Out[387]: dict

#Set-Typ (Klasse)
type(set_value)
Out[388]: set

#numpy Array-Typ (Klasse)
type(ndarray_value)
Out[389]: numpy.ndarray

#Pandas Serie Typ (Klasse)
type(series_value)
Out[390]: pandas.core.series.Series

#Pandas Datenrahmen Typ (Klasse)
type(dataframe_value)
Out[391]: pandas.core.frame.DataFrame

#numpy Datentyp
ndarray_value.dtype
Out[392]: dtype('int32')

#Datentyp der Pandas-Serie
series_value.dtype
Out[393]: dtype('int64')

#Datentyp des Pandas-Datenrahmens * Fehler tritt auf


'''
Typkonvertierung
'''
#Konvertieren Sie vom Zeichenfolgentyp in den Ganzzahltyp
int('1')
Out[308]: 1

#Konvertieren Sie vom Zeichenfolgentyp in den Minderheitentyp
float('1')
Out[309]: 1.0

#Konvertieren Sie vom Integer-Typ in den String-Typ
str(1)
Out[310]: '1'

###############
#In Liste konvertieren#
###############
#Vom Taple
list(tuple_value)
Out[311]: [10, 11, 12]

#Aus dem Wörterbuch * Nicht gut konvertiert
list(dict_value)
Out[312]: [0, 1, 2]

#Aus dem Set
list(set_value)
Out[313]: [10, 11, 12]

#Aus dem Numpy-Array
list(ndarray_value)
Out[314]: [10, 11, 12]

#Aus der Pandas-Serie
list(series_value)
Out[315]: [10, 11, 12]

#Aus dem Pandas-Datenrahmen
list(dataframe_value.values.flatten())
Out[318]: [10, 11, 12]

#Aus dem Pandas-Datenrahmen * Nicht gut konvertiert
list(dataframe_value)
Out[316]: ['seq']

#Aus dem Pandas-Datenrahmen * Nicht gut konvertiert
list(dataframe_value.values)
Out[317]: [array([10]), array([11]), array([12])]

###############
#Umstellung auf Tupel#
###############
#Die Konvertierung in Taple entspricht der Liste

######################
#Konvertierung in ein Wörterbuch#
######################
#Aus Pandas-Serien * Kann nicht von anderen Typen als Pandas-Serien in Wörterbücher konvertiert werden
dict(series_value)
Out[327]: {0: 10, 1: 11, 2: 12}

###############
#Umstellung auf Set#
###############
#Die Konvertierung in set entspricht der Liste

###################
#Konvertierung in ein Numpy-Array#
###################
#Von der Liste
np.array(list_value)
Out[354]: array([10, 11, 12])

#Vom Taple
np.array(tuple_value)
Out[355]: array([10, 11, 12])

#Aus dem Wörterbuch * Nicht gut konvertiert
np.array(dict_value)
Out[356]: array({0: 10, 1: 11, 2: 12}, dtype=object)

#* Nicht gut vom Set konvertiert
np.array(set_value)
Out[357]: array({10, 11, 12}, dtype=object)

#Aus der Pandas-Serie
np.array(series_value)
Out[358]: array([10, 11, 12])

#Aus dem Pandas-Datenrahmen
In [231]: np.array(dataframe_value.values.flatten())
Out[231]: array([10, 11, 12])

#Aus dem Pandas-Datenrahmen * Nicht gut konvertiert
np.array(dataframe_value)
Out[359]: 
array([[10],
       [11],
       [12]])

#Aus dem Pandas-Datenrahmen * Nicht gut konvertiert
np.array(dataframe_value.values)
Out[395]: 
array([[10],
       [11],
       [12]])

#######################
#Umstellung auf Pandas-Serien#
#######################
#Von der Liste
In [232]: pd.Series(list_value)
Out[232]: 
0    10
1    11
2    12
dtype: int64

#Vom Taple
In [233]: pd.Series(tuple_value)
Out[233]: 
0    10
1    11
2    12
dtype: int64

#Aus dem Wörterbuch
In [234]: pd.Series(dict_value)
Out[234]: 
0    10
1    11
2    12
dtype: int64

#* Fehler vom Set

#Aus dem Numpy-Array
In [236]: pd.Series(ndarray_value)
Out[236]: 
0    10
1    11
2    12
dtype: int32

#Aus dem Pandas-Datenrahmen
In [239]: pd.Series(dataframe_value.values.flatten())
Out[239]: 
0    10
1    11
2    12
dtype: int64

#Aus dem Pandas-Datenrahmen * Nicht gut konvertiert
In [237]: pd.Series(dataframe_value)
Out[237]: 
0    (s, e, q)
1    (s, e, q)
2    (s, e, q)
dtype: object

#* Fehler vom Pandas-Datenrahmen

############################
#Konvertierung in einen Pandas-Datenrahmen#
############################
#Von der Liste
In [240]: pd.DataFrame(list_value)
Out[240]: 
    0
0  10
1  11
2  12

#* Fehler vom Taple

#* Fehler aus dem Wörterbuch

#* Fehler vom Set

#Aus dem Numpy-Array
In [244]: pd.DataFrame(ndarray_value)
Out[244]: 
    0
0  10
1  11
2  12

#Aus der Pandas-Serie
In [245]: pd.DataFrame(series_value)
Out[245]: 
    0
0  10
1  11
2  12

##########################
#Konvertierung des Numpy-Array-Datentyps#
##########################
#Konvertieren Sie von einer Ganzzahl in eine Zeichenfolge
In [246]: ndarray_value.astype(np.string_)
Out[246]: 
array([b'10', b'11', b'12'], 
      dtype='|S11')

##############################
#Datentypkonvertierung der Pandas-Serie#
##############################
#Konvertieren Sie von einer Ganzzahl in eine Zeichenfolge
In [247]: series_value.astype(np.string_)
Out[247]: 
0    b'10'
1    b'11'
2    b'12'
dtype: bytes168

In [248]: dataframe_value.astype(np.string_) 
Out[248]: 
     seq
0  b'10'
1  b'11'
2  b'12'


'''
Anzahl der Elemente in der Sequenz
'''
#aufführen
In [252]: len(list_value)
Out[252]: 3

#Taple
In [253]: len(tuple_value)
Out[253]: 3

#Wörterbuch
In [254]: len(dict_value)
Out[254]: 3

#einstellen
In [255]: len(set_value)
Out[255]: 3

#numpy Array
In [256]: len(ndarray_value)
Out[256]: 3

#Pandas-Serie
In [257]: len(series_value)
Out[257]: 3

#Pandas Datenrahmen
In [258]: len(dataframe_value)
Out[258]: 3

########
#Abmessungen#
########
#numpy Array
In [259]: ndarray_value.ndim
Out[259]: 1
In [260]: ndarray_value.shape
Out[260]: (3,)

#Pandas-Serie
In [261]: series_value.ndim
Out[261]: 1
In [262]: series_value.shape
Out[262]: (3,)

#Pandas Datenrahmen
In [263]: dataframe_value.ndim
Out[263]: 2

In [264]: dataframe_value.shape
Out[264]: (3, 1)


'''
Elementreferenz
'''
#aufführen
In [266]: list_value[0]
Out[266]: 10
In [267]: list_value[-3]
Out[267]: 10
In [268]: list_value[2]
Out[268]: 12
In [269]: list_value[-1]
Out[269]: 12

#Taple ist dasselbe wie Liste

#Wörterbuch
In [274]: dict_value[0]
Out[274]: 10
In [275]: dict_value[-3] #* Ein Fehler wird auftreten
In [276]: dict_value[2]
Out[276]: 12
In [277]: dict_value[-1] #* Ein Fehler wird auftreten

#Set unterstützt keine Indexsuche

#numpy Array
In [279]: ndarray_value[0]
Out[279]: 10
In [280]: ndarray_value[-3]
Out[280]: 10
In [281]: ndarray_value[2]
Out[281]: 12
In [282]: ndarray_value[-1]
Out[282]: 12

#Pandas-Serie
In [283]: series_value[0]
Out[283]: 10
In [284]: series_value[-3]  #* Ein Fehler wird auftreten
In [285]: series_value[2]
Out[285]: 12
In [286]: series_value[-1]  #* Ein Fehler wird auftreten

#Pandas Datenrahmen
In [287]: dataframe_value[0] #* Ein Fehler wird auftreten


'''
Summe
'''
#Insgesamt nach Python-Standard
In [289]: sum(list_value)
Out[289]: 33
In [290]: sum(tuple_value)
Out[290]: 33
In [291]: sum(dict_value)
Out[291]: 3
In [292]: sum(set_value)
Out[292]: 33
In [293]: sum(ndarray_value)
Out[293]: 33
In [294]: sum(series_value)
Out[294]: 33
In [295]: sum(dataframe_value) #* Ein Fehler wird auftreten

#Insgesamt nach Anzahl
In [296]: np.sum(list_value)
Out[296]: 33
In [297]: np.sum(tuple_value)
Out[297]: 33
In [298]: np.sum(dict_value) #* geht nicht gut
Out[298]: {0: 10, 1: 11, 2: 12}
In [299]: np.sum(set_value) #* geht nicht gut
Out[299]: {10, 11, 12}
In [300]: np.sum(ndarray_value)
Out[300]: 33
In [301]: np.sum(series_value)
Out[301]: 33
In [302]: np.sum(dataframe_value)
Out[302]: 
seq    33
dtype: int64


'''
Kombiniert mit Ordnungszahl
'''
#Permutation
seq = ('A','B','C')
len(list(it.permutations(seq,2)))
Out[15]: 6
list(it.permutations(seq, 2))
Out[16]: [('A', 'B'), ('A', 'C'), ('B', 'A'), ('B', 'C'), ('C', 'A'), ('C', 'B')]

#Kombination
len(list(it.combinations(seq,2)))
Out[18]: 3
list(it.combinations(seq, 2))
Out[19]: [('A', 'B'), ('A', 'C'), ('B', 'C')]

#Direktes Produkt
seq1 = ('A','B')
seq2 = ('C','D')
len(list(it.product(seq1,seq2)))
Out[23]: 4
list(it.product(seq1,seq2))
Out[24]: [('A', 'C'), ('A', 'D'), ('B', 'C'), ('B', 'D')]

Recommended Posts

Um zwischen Standard-Python, Numpy, Pandas hin und her zu gehen ①
[Python-Lernteil 3] Konvertieren Sie Pandas DataFrame, Series und Standard List ineinander
Python- und Numpy-Tipps
Python Basic - Pandas, Numpy -
Es ist nicht einfach, Python zu schreiben, es ist einfach, numpy und scipy zu schreiben
Unterschied zwischen Numpy- und Pandas-Methoden zur Ermittlung der Verteilung
Einführung in Python numpy pandas matplotlib (für ~ B3 ~ part2)
[Python] Wie man mit inf und NaN bei numpy Durchschnitt, Standardabweichung, Maximum / Minimum umgeht
Konvertieren Sie numpy int64 in python int
[Python] Liste in Pandas konvertieren [Pandas]
Wichtige Ergänzungen zu den Pandas 1.1.0 und 1.0.0
Eine Standardmethode zum Entwickeln und Verteilen von Paketen in Python
Ich möchte den Unterschied zwischen der for-Anweisung in der Python + numpy-Matrix und der Julia for-Anweisung auffangen
Ich habe versucht, die Unterschiede zwischen Java und Python aufzuzählen
Gehen Sie zur Sprache, um Teil 8 zu sehen und sich daran zu erinnern. Rufen Sie die GO-Sprache von Python aus auf
[Python] So fügen Sie einer Tabelle Zeilen und Spalten hinzu (pandas DataFrame)
Python / Numpy> Link> Unterschied zwischen numpy.random und random.random> threadsicher oder nicht
Unterschied zwischen Ruby und Python Split
Unterschied zwischen Java und Python (Memo)
Python 3.6 unter Windows ... und zu Xamarin.
Unterschied zwischen list () und [] in Python
Unterschied zwischen == und ist in Python
Einführung in die Python Numerical Calculation Library NumPy
[Einführung in Python3 Tag 1] Programmierung und Python
[Python] Verwendung der Pandas-Serie
[Einführung in Python] <numpy ndarray> [edit: 2020/02/22]
Zusammenarbeit zwischen Python-Modul und API
Unterschied zwischen Numpys Randint und Randoms Randint
Unterschied zwischen Python, Stftime und Strptime
Unterschied zwischen der Python2-Serie und der Python3-Serie dict.keys ()
[Einführung in Python] Verwenden wir Pandas
Nützlich zu merken! 10 Python-Standardbibliotheken
Python-Protokollierung und Dump an JSON
[Einführung in Python] Verwenden wir Pandas
Selen und Python zum Öffnen von Google
[Python] Unterschied zwischen Funktion und Methode
Python - Unterschied zwischen exec und eval
[Einführung in Python] Verwenden wir Pandas
[Python] Unterschied zwischen randrange () und randint ()
[Python] Unterschied zwischen sortiert und sortiert (Colaboratory)
[Einführung in Python] Was ist der Unterschied zwischen einer Liste und einem Taple?
Versuchen Sie, Python-Code zu schreiben, um Go-Code zu generieren. - Versuchen Sie, JSON-to-Go usw. zu portieren
Kommunizieren Sie mit gRPC zwischen Elixir und Python
Unterschied in der Authentizität zwischen Python und JavaScript
[Python] Was ist Pandas Series und DataFrame?
[Python] Zusammenfassung der Verwendung von Pandas
So verpacken und verteilen Sie Python-Skripte
Ich habe Python3 Standard Argparse und Python-Fire verglichen
[Python] Extrahiere △△ mit maximalem ○○ mit Pandas
Von Python bis zur Verwendung von MeCab (und CaboCha)
Unterschiede zwischen Ruby und Python im Umfang
Unterschied zwischen Anweisungen (Anweisungen) und Ausdrücken (Ausdrücken) in Python
So installieren und verwenden Sie pandas_datareader [Python]
Binden Sie Methoden an Python-Klassen und -Instanzen
Unterschiede zwischen Python- und Java-Syntax
Unterschiede in der Beziehung zwischen PHP und Python schließlich und beenden
Unterschied zwischen @classmethod und @staticmethod in Python
Fraktal zum Erstellen und Spielen mit Python
Unterschied zwischen Anhängen und + = in der Python-Liste