Mémorandum @ Python OU Séminaire: Pandas

pandas

>>> import pandas as pd

pandas dit "[Introduction à l'analyse des données avec Python](http://www.amazon.co.jp/Python%E3%81%AB%E3%82%88%E3%82%8B%E3%83%87%E3" % 83% BC% E3% 82% BF% E5% 88% 86% E6% 9E% 90% E5% 85% A5% E9% 96% 80-% E2% 80% 95NumPy% E3% 80% 81pandas% E3% 82% 92% E4% BD% BF% E3% 81% A3% E3% 81% 9F% E3% 83% 87% E3% 83% BC% E3% 82% BF% E5% 87% A6% E7% 90% 86-Wes-McKinney / dp / 4873116554) ». Si vous souhaitez étudier en détail, veuillez étudier ici. Pythonによるデータ分析入門

Type de données

Il existe deux types de données dans les pandas: ** Series ** et ** DataFrame **.

Series Un type qui gère une colonne (ligne) de données.

#Type de liste ordinaire
>>> lst = [1, 2, 3, 4, 5]
# Series
>>> s = pd.Series(lst)
>>> s
0    1
1    2
2    3
3    4
4    5
dtype: float64

DataFrame Un type qui gère les données de table.

#Type de dictionnaire ordinaire
>>> dic = {"a": [1, 2, 3], "b": [9, 8, 7]}
# DataFrame
>>> df = pd.DataFrame(dic)
	a	b
0	1	9
1	2	8
2	3	7

I/O

La lecture des fichiers est fournie.

>>> pd.read*? # *Correspondance partielle une fois attaché
pd.read_clipboard
pd.read_csv
pd.read_excel
pd.read_fwf
pd.read_gbq
pd.read_hdf
pd.read_html
pd.read_json
pd.read_msgpack
pd.read_pickle
pd.read_sql
pd.read_sql_query
pd.read_sql_table
pd.read_stata
pd.read_table

exemple de lecture de fichier csv

>>> dataset = pd.read('sample.csv')

exemple d'écriture de fichier csv

>>> dataset.to_csv('write.csv')

Lire les données

Lorsque vous voulez voir quelques lignes de données

>>> dataset.head() #Si vous mettez un entier dans l'argument
>>> dataset.tail() #Lit une ligne entière

>>> dataset.ix[n] #Voir la ligne n
>>> dataset.ix[m:n] # m~(n-1)Voir la ligne
>>> dataset.ix[[0, 3, 5]] #Voir une ligne éloignée

Lorsque vous souhaitez afficher un certain nombre de colonnes de données

>>> dataset.Nom de colonne
#Ou
>>> dataset['Nom de colonne']
#Lorsque vous souhaitez voir plusieurs colonnes
>>> dataset[['Nom de colonne 1', 'Nom de colonne 2', ...,]]

Chercher

>>> dataset[dataset.UID == 'Nom de colonne']

Traitement des valeurs manquantes NA

Vérifiez les valeurs manquantes

Il semble combiner len () et count ()

--len () obtient la taille des données. --count () obtient le nombre d'éléments autres que NA dans la direction de la colonne. (Si l'argument est ʻaxis = 1`, ce sera dans le sens de la ligne)

>>> len(dataset) - dataset.count()
UID             0
dtime           0
Sousyouhi       0
Hatsudenryou    0
Jikasyouhi      0
Uriden          0
Kaiden          0
Use_AirCon      0
Use_Kyutou      3
Use_Kaden       0
dtype: int64

Si vous voulez regarder de plus près, vous devez combiner ʻis null () et ʻany (). ʻIsnull () : Définissez l'élément NA sur True et les autres sur False. ʻAny () : Renvoie True s'il y a au moins un True dans le sens de la colonne, False s'il n'y en a pas. (Si l'argument est ʻaxis = 1`, ce sera dans le sens de la ligne)

>>> dataset[dataset.isnull().any(axis=1)]

Traitement des valeurs manquantes NA

Principalement deux. dropna (): supprime la ligne contenant NA. (Direction de la colonne avec ʻaxis = 1dans l'argument) fillna ('something'): Remplacez NA par something`.

>>> dataset.dropna()

>>> dataset.fillna(0) #Remplacez NA par 0

#Remplir NA avec le front de valeur précédente?
>>> dataset.fillna(method='ffill')
#Remplissez NA avec la valeur de retour?
>>> dataset.fillna(method='bfill')

Statistiques récapitulatives

Si vous utilisez describe (), il calculera la plupart d'entre eux. count, mean, std, min, 25%, 50%, 75%, max

>>> dataset.describe()

Regroupement

Regrouper par élément.

>>> dataset.groupby('Nom de colonne')

Graphique

Il semble que les pandas seuls puissent dessiner des graphiques.

Graphique de séries chronologiques

Définissez dtime sur index

>>> tdataset = dataset.copy()
>>> tdataset.index = tdatasset.dtime.apply(pd.to_datetime)
>>> tdataset.drop('dtime', axis=1, inplace=True)
>>> b = tdataset[tdataset.UID == 'id1'] \
...                      [['UID', 'Soushohi']]
>>> b.plot()

Rééchantillonnage

S'il est laissé tel quel (toutes les 2 heures) comme ci-dessus, le graphique est trop fin. Tous les autres jours.

>>> c = b.resample('1d') # 1m:Un mois sur deux
>>> c.plot()
>>> b.resample('1d', 'std').plot() #écart-type
>>> b.drop('UID', axis=1).resample('1d', 'max').plot() #Valeur maximum

moyenne mobile

>>> pd.rolling_mean(c, 12).plot() #12 semaines

histogramme

>>> c.hist()

Boîte à moustaches

>>> c.boxplot(return_type='axes')

Coefficient de corrélation

>>> c.corr()

Collérogramme

>>> import statsmodels.api as sm
>>> plot(sm.tsa.acf(b.Nom de colonne))

Nuage de points

>>> pd.tools.plotting.scatter_matrix(c)

Régression multiple

>>> c = c.fillna(0)
>>> m = sm.OLS(c.Soushoshouhi, \
...          c[['Hatsudenryou', 'Use_AirCon']])
>>> r = m.fit()
>>> r.summary2()

Documentation en ligne

Le reste est ici.

Recommended Posts

Mémorandum @ Python OU Séminaire: Pandas
Mémorandum @ Python OR Séminaire
Mémorandum @ Python OR Séminaire: matplotlib
Mémorandum @ Python OR Séminaire: Pulp
Mémorandum @ Python OR Seminar: scikit-learn
Mémorandum Python
mémorandum python
Mémorandum de Pandas
Mémorandum Python
mémorandum pandas
mémorandum python
Mémorandum Python
Mémorandum de base Python
Mes pandas (Python)
Mémorandum de Python Pathlib
Mémorandum Python (algorithme)
Mémorandum d'opération Pandas
Mémorandum Python [liens]
mémo pandas python
[Pour enregistrement] Mémorandum Pandas
Python> liste> extend () ou + =
mémorandum python (mise à jour séquentielle)
Python depuis ou import
autotest ou sniffer python
Mémorandum Python (signet personnel)
Installer des pandas sur python2.6
Mémorandum de base Python partie 2
mémorandum python super basique
Application Python: Pandas # 3: Dataframe
Python Basic --Pandas, Numpy-
Lire csv avec des pandas python
Application Python: Pandas Partie 1: Basique
Mémorandum Cisco _ configuration d'entrée avec Python
Application Python: Pandas Partie 2: Série
[Python] Convertir la liste en Pandas [Pandas]
Python 3.4 ou version ultérieure standard pip
Espace d'en-tête de bande de pandas Python
Mémorandum ABC [ABC163 C --managementr] (Python)
fonction de mémorandum python pour débutant
Mémorandum (pseudo Vlookup par pandas)
[Python] Mémorandum sur l'évitement des erreurs SQLAlchemy
[Python] Changer de type avec les pandas
Mémorandum sur la corrélation [Python]
Résumé récent de l'étude des pandas python
Opérateur de bits Python et somme logique
Un mémorandum sur le simulacre de Python
Pandas 100 coups pour les débutants en Python
[python] Mémorandum de génération aléatoire
Ruby `` comme en Python.2.6 ou version ultérieure
Analyse de données à l'aide de pandas python
Python ou et et opérateur trap