Pour aller et venir entre python standard, numpy, pandas ①

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

Pour aller et venir entre python standard, numpy, pandas ①
[Formation Python partie 3] Convertissez les pandas DataFrame, Series et Standard List entre eux
Astuces Python et Numpy
Python Basic --Pandas, Numpy-
Ce n'est pas facile d'écrire Python, c'est facile d'écrire numpy et scipy
Différence entre les méthodes numpy et pandas pour trouver une distribution
Introduction à Python numpy pandas matplotlib (pour ~ B3 ~ part2)
[Python] Comment gérer inf et NaN à une moyenne numpy, écart type, maximum / minimum
Convertir numpy int64 en python int
[Python] Convertir la liste en Pandas [Pandas]
Ajouts clés aux pandas 1.1.0 et 1.0.0
Un moyen standard de développer et de distribuer des packages en Python
Je veux absorber la différence entre l'instruction for sur la matrice Python + numpy et l'instruction Julia for
J'ai essayé d'énumérer les différences entre java et python
Aller au langage pour voir et se souvenir de la partie 8 Appeler le langage GO à partir de Python
[Python] Comment ajouter des lignes et des colonnes à une table (pandas DataFrame)
Python / Numpy> Lien> Différence entre numpy.random et random.random> thread-safe ou non
Différence entre Ruby et Python Split
Différence entre java et python (mémo)
Python 3.6 sous Windows ... et vers Xamarin.
Différence entre list () et [] en Python
Différence entre == et est en python
Introduction à la bibliothèque de calcul numérique Python NumPy
[Introduction à Python3 Jour 1] Programmation et Python
[Python] Comment utiliser la série Pandas
[Introduction à Python] <numpy ndarray> [modifier le 22/02/2020]
Coopération entre le module python et l'API
Différence entre le randint de Numpy et le randint de Random
Différence entre Python, stftime et strptime
Différence entre la série python2 et la série python3 dict.keys ()
[Introduction à Python] Utilisons les pandas
Utile à retenir! 10 bibliothèques standard Python
Journalisation Python et vidage vers json
[Introduction à Python] Utilisons les pandas
Sélénium et python pour ouvrir Google
[Python] Différence entre fonction et méthode
Python - Différence entre exec et eval
[Introduction à Python] Utilisons les pandas
[Python] Différence entre randrange () et randint ()
[Python] Différence entre trié et trié (Colaboratoire)
[Introduction à Python] Quelle est la différence entre une liste et un taple?
Essayez d'écrire du code python pour générer du code go - Essayez de porter JSON-to-Go et ainsi de suite
Communiquez entre Elixir et Python avec gRPC
Différence d'authenticité entre Python et JavaScript
[Python] Qu'est-ce que la série pandas et DataFrame?
[Python] Résumé de l'utilisation des pandas
Comment empaqueter et distribuer des scripts Python
J'ai comparé argparse standard python3 et python-fire
[Python] Utilisez des pandas pour extraire △△ qui maximise ○○
De Python à l'utilisation de MeCab (et CaboCha)
Différences entre Ruby et Python dans la portée
différence entre les instructions (instructions) et les expressions (expressions) en Python
Comment installer et utiliser pandas_datareader [Python]
Lier des méthodes aux classes et instances Python
Différences entre la syntaxe Python et Java
Différences dans la relation entre PHP et Python enfin et quitter
Différence entre @classmethod et @staticmethod en Python
Fractal pour faire et jouer avec Python
Différence entre append et + = dans la liste Python