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