Puisque scikitlearn n'accepte que numpy, il est nécessaire de le convertir en un tableau numpy après avoir traité les données avec des pandas, et les pandas python standard, numpy, sont confus en raison du chevauchement des fonctions, alors résumez d'abord les bases des bases.
python
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#importer
import numpy as np
import scipy as py
import pandas as pd
import itertools as it
'''
Créer
'''
#Création de liste
list_value = [10,11,12]
list_value
Out[374]: [10, 11, 12]
#Création de taple
tuple_value = (10,11,12)
tuple_value
Out[375]: (10, 11, 12)
#Création de dictionnaire
dict_value = {0:10,1:11,2:12}
dict_value
Out[376]: {0: 10, 1: 11, 2: 12}
#Création de décors
set_value = {10,11,12}
set_value
Out[377]: {10, 11, 12}
#création de tableau numpy
ndarray_value = np.array([10,11,12], dtype=np.int32)
ndarray_value
Out[378]: array([10, 11, 12], dtype=int32)
#création de séries pandas
series_value = pd.Series({0:10,1:11,2:12})
series_value
Out[379]:
0 10
1 11
2 12
dtype: int64
#création de trame de données pandas
dataframe_value = pd.DataFrame({'seq':[10,11,12]})
dataframe_value
Out[380]:
seq
0 10
1 11
2 12
'''
Type (classe)
'''
#Type entier (classe)
type(1)
Out[382]: int
#Type de minorité (classe)
type(0.1)
Out[383]: float
#Type de chaîne (classe)
type('abc')
Out[384]: str
#Type de liste (classe)
type(list_value)
Out[385]: list
#Type de taple (classe)
type(tuple_value)
Out[386]: tuple
#Type de dictionnaire (classe)
type(dict_value)
Out[387]: dict
#Définir le type (classe)
type(set_value)
Out[388]: set
#type de tableau numpy (classe)
type(ndarray_value)
Out[389]: numpy.ndarray
#type de série pandas (classe)
type(series_value)
Out[390]: pandas.core.series.Series
#type de trame de données pandas (classe)
type(dataframe_value)
Out[391]: pandas.core.frame.DataFrame
#type de données numpy
ndarray_value.dtype
Out[392]: dtype('int32')
#Type de données de la série pandas
series_value.dtype
Out[393]: dtype('int64')
#Type de données de la trame de données pandas * Une erreur se produit
'''
Conversion de type
'''
#Convertir du type chaîne en type entier
int('1')
Out[308]: 1
#Convertir du type chaîne en type minoritaire
float('1')
Out[309]: 1.0
#Convertir du type entier au type chaîne
str(1)
Out[310]: '1'
###############
#Convertir en liste#
###############
#De taple
list(tuple_value)
Out[311]: [10, 11, 12]
#Du dictionnaire * Pas bien converti
list(dict_value)
Out[312]: [0, 1, 2]
#De l'ensemble
list(set_value)
Out[313]: [10, 11, 12]
#Depuis le tableau numpy
list(ndarray_value)
Out[314]: [10, 11, 12]
#De la série pandas
list(series_value)
Out[315]: [10, 11, 12]
#À partir de la trame de données pandas
list(dataframe_value.values.flatten())
Out[318]: [10, 11, 12]
#De la trame de données pandas * Pas bien converti
list(dataframe_value)
Out[316]: ['seq']
#De la trame de données pandas * Pas bien converti
list(dataframe_value.values)
Out[317]: [array([10]), array([11]), array([12])]
###############
#Conversion en tuple#
###############
#La conversion en taple est identique à la liste
######################
#Conversion en dictionnaire#
######################
#De la série pandas * Impossible de convertir des types autres que la série pandas en dictionnaire
dict(series_value)
Out[327]: {0: 10, 1: 11, 2: 12}
###############
#Conversion en set#
###############
#La conversion en ensemble est identique à la liste
###################
#Conversion en tableau numpy#
###################
#De la liste
np.array(list_value)
Out[354]: array([10, 11, 12])
#De taple
np.array(tuple_value)
Out[355]: array([10, 11, 12])
#Du dictionnaire * Pas bien converti
np.array(dict_value)
Out[356]: array({0: 10, 1: 11, 2: 12}, dtype=object)
#* Pas bien converti de l'ensemble
np.array(set_value)
Out[357]: array({10, 11, 12}, dtype=object)
#De la série pandas
np.array(series_value)
Out[358]: array([10, 11, 12])
#À partir de la trame de données pandas
In [231]: np.array(dataframe_value.values.flatten())
Out[231]: array([10, 11, 12])
#De la trame de données pandas * Pas bien converti
np.array(dataframe_value)
Out[359]:
array([[10],
[11],
[12]])
#De la trame de données pandas * Pas bien converti
np.array(dataframe_value.values)
Out[395]:
array([[10],
[11],
[12]])
#######################
#Conversion en série pandas#
#######################
#De la liste
In [232]: pd.Series(list_value)
Out[232]:
0 10
1 11
2 12
dtype: int64
#De taple
In [233]: pd.Series(tuple_value)
Out[233]:
0 10
1 11
2 12
dtype: int64
#Du dictionnaire
In [234]: pd.Series(dict_value)
Out[234]:
0 10
1 11
2 12
dtype: int64
#* Erreur de l'ensemble
#Depuis le tableau numpy
In [236]: pd.Series(ndarray_value)
Out[236]:
0 10
1 11
2 12
dtype: int32
#À partir de la trame de données pandas
In [239]: pd.Series(dataframe_value.values.flatten())
Out[239]:
0 10
1 11
2 12
dtype: int64
#De la trame de données pandas * Pas bien converti
In [237]: pd.Series(dataframe_value)
Out[237]:
0 (s, e, q)
1 (s, e, q)
2 (s, e, q)
dtype: object
#* Erreur de la trame de données pandas
############################
#Conversion en trame de données pandas#
############################
#De la liste
In [240]: pd.DataFrame(list_value)
Out[240]:
0
0 10
1 11
2 12
#* Erreur de taple
#* Erreur du dictionnaire
#* Erreur de l'ensemble
#Depuis le tableau numpy
In [244]: pd.DataFrame(ndarray_value)
Out[244]:
0
0 10
1 11
2 12
#De la série pandas
In [245]: pd.DataFrame(series_value)
Out[245]:
0
0 10
1 11
2 12
##########################
#conversion de type de données de tableau numpy#
##########################
#Convertir d'un entier en chaîne
In [246]: ndarray_value.astype(np.string_)
Out[246]:
array([b'10', b'11', b'12'],
dtype='|S11')
##############################
#conversion de type de données série pandas#
##############################
#Convertir d'un entier en chaîne
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'
'''
Nombre d'éléments dans la séquence
'''
#liste
In [252]: len(list_value)
Out[252]: 3
#Taple
In [253]: len(tuple_value)
Out[253]: 3
#dictionnaire
In [254]: len(dict_value)
Out[254]: 3
#ensemble
In [255]: len(set_value)
Out[255]: 3
#tableau numpy
In [256]: len(ndarray_value)
Out[256]: 3
#série pandas
In [257]: len(series_value)
Out[257]: 3
#trame de données pandas
In [258]: len(dataframe_value)
Out[258]: 3
########
#dimension#
########
#tableau numpy
In [259]: ndarray_value.ndim
Out[259]: 1
In [260]: ndarray_value.shape
Out[260]: (3,)
#série pandas
In [261]: series_value.ndim
Out[261]: 1
In [262]: series_value.shape
Out[262]: (3,)
#trame de données pandas
In [263]: dataframe_value.ndim
Out[263]: 2
In [264]: dataframe_value.shape
Out[264]: (3, 1)
'''
Référence d'élément
'''
#liste
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 est identique à la liste
#dictionnaire
In [274]: dict_value[0]
Out[274]: 10
In [275]: dict_value[-3] #* Une erreur se produira
In [276]: dict_value[2]
Out[276]: 12
In [277]: dict_value[-1] #* Une erreur se produira
#L'ensemble ne prend pas en charge la recherche d'index
#tableau numpy
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
#série pandas
In [283]: series_value[0]
Out[283]: 10
In [284]: series_value[-3] #* Une erreur se produira
In [285]: series_value[2]
Out[285]: 12
In [286]: series_value[-1] #* Une erreur se produira
#trame de données pandas
In [287]: dataframe_value[0] #* Une erreur se produira
'''
Somme
'''
#Total selon la norme python
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) #* Une erreur se produira
#Total par numpy
In [296]: np.sum(list_value)
Out[296]: 33
In [297]: np.sum(tuple_value)
Out[297]: 33
In [298]: np.sum(dict_value) #* ne va pas bien
Out[298]: {0: 10, 1: 11, 2: 12}
In [299]: np.sum(set_value) #* ne va pas bien
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
'''
Combiné avec ordinal
'''
#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')]
#combinaison
len(list(it.combinations(seq,2)))
Out[18]: 3
list(it.combinations(seq, 2))
Out[19]: [('A', 'B'), ('A', 'C'), ('B', 'C')]
#Produit direct
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