Je connais? Analyse de données à l'aide de Python ou de choses que vous souhaitez utiliser quand vous le souhaitez avec numpy

Codes que vous souhaitez atteindre principalement lorsque vous le souhaitez dans Pandas

** J'ai essayé de faire comme le calendrier de l'Avent, mais je suis désolé de ne pas avoir pu venir à temps **

Je l'ajouterai bientôt

Ci-dessous, donnez un alias comme suit

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

N'omettez pas les colonnes et les lignes lors de l'affichage

pd.set_option('display.max_columns', 100)
pd.set_option('display.max_rows', 500)

Utilisez describe () pour les lignes autres que les nombres

DF.desctibe(include='all')

Données par ordre chronologique

Je me réfère ici https://note.nkmk.me/python-pandas-time-series-resample-asfreq/

Créer des données de date

df = pd.DataFrame({'data' : range(0, 30, 2)},
                 index=pd.date_range(start='2018/1/1', end='2018/1/30', freq='2D'))

Extraire les données à intervalles réguliers

Par exemple, si vous souhaitez extraire des données tous les 3 jours, utilisez asfreq (). Les dates qui n'ont pas de données à l'origine seront Aucune.

df.asfreq(freq='3D')
before after

Si vous souhaitez extraire chaque mercredi et remplir la partie None avec les données précédentes, utilisez asfreq (freq = 'W-WED', method = 'pad').

df.asfreq(freq='W-WED', method='pad')
before after

Inversement, utilisez asfreq (method = 'bfill') pour remplir la valeur de fin.

df.asfreq(freq='W-WED', method='bfill')
before after

Avoir des données de date et obtenir des totaux chaque semaine

Utilisez resample ()

df.resample('W').sum()
before after

Données avec la même date, total pour chaque date

Les données ressemblent à ceci

df2 = pd.DataFrame({'data': range(17)},
                    index=pd.date_range('2018-08-01', '2018-08-05', freq='6H'))

Utilisez resample ('D'). Sum () pour obtenir le total quotidien.

df2.resample('D').sum()
before after

Pour la moyenne, utilisez resample ('D'). Mean ().

before after

Visualisation (soleil)

Préparer des données virtuelles du 2018/1/1 au 2018/12/31

np.random.seed(0)
df3 = pd.DataFrame({'data': 
                    np.maximum(0, np.minimum(np.arange(0, -365, -1) + 182, 0) + np.minimum(np.arange(365), 182) + np.floor(np.random.normal(50, 50, 365)))},
                    index=pd.date_range('2018-01-01', '2018-12-31'))

Si vous visualisez ceci,

plt.figure(figsize=(18, 6), facecolor='white')
plt.plot(df3.index, df3['data'], marker='o')
plt.xticks(rotation=90)
plt.show()
graph data
image.png

Visualisation (hebdomadaire)

Essayez de visualiser tous les lundis

np.random.seed(0)
df3 = pd.DataFrame({'data': 
                    np.maximum(0, np.minimum(np.arange(0, -365, -1) + 182, 0) + np.minimum(np.arange(365), 182) + np.floor(np.random.normal(50, 50, 365)))},
                    index=pd.date_range('2018-01-01', '2018-12-31'))

_df = df3.asfreq('W-MON')
plt.figure(figsize=(18, 6), facecolor='white')
plt.plot(_df.index, _df['data'], marker='o')
plt.xticks(rotation=90)
plt.show()
graph data
image.png

Visualisation (mensuelle)

Visualisé à la fin du mois

np.random.seed(0)
df3 = pd.DataFrame({'data': 
                    np.maximum(0, np.minimum(np.arange(0, -365, -1) + 182, 0) + np.minimum(np.arange(365), 182) + np.floor(np.random.normal(50, 50, 365)))},
                    index=pd.date_range('2018-01-01', '2018-12-31'))

_df = df3.asfreq('1M')
plt.figure(figsize=(18, 6), facecolor='white')
plt.plot(_df.index, _df['data'])
plt.xticks(rotation=90)
plt.show()
graph data
image.png

asfreq ('1M') est le dernier jour du mois

df3.asfreq('1M')

Le premier jour du mois

np.random.seed(0)
df3 = pd.DataFrame({'data': 
                    np.maximum(0, np.minimum(np.arange(0, -365, -1) + 182, 0) + np.minimum(np.arange(365), 182) + np.floor(np.random.normal(50, 50, 365)))},
                    index=pd.date_range('2018-01-01', '2018-12-31'))

_df = df3.asfreq('1MS')
plt.figure(figsize=(18, 6), facecolor='white')
plt.plot(_df.index, _df['data'])
plt.xticks(rotation=90)
plt.show()
graph data
image.png

asfreq ('1MS') sera le premier jour du mois

df3.asfreq('1MS')

Visualisation (1 trimestre)

np.random.seed(0)
df3 = pd.DataFrame({'data': 
                    np.maximum(0, np.minimum(np.arange(0, -365, -1) + 182, 0) + np.minimum(np.arange(365), 182) + np.floor(np.random.normal(50, 50, 365)))},
                    index=pd.date_range('2018-01-01', '2018-12-31'))

_df = df3.asfreq('1QS')
plt.figure(figsize=(18, 6), facecolor='white')
plt.plot(_df.index, _df['data'], marker='o')
plt.xticks(rotation=90)
plt.show()
graph data
image.png image.png

Visualisation (total pour une semaine)

np.random.seed(0)
df3 = pd.DataFrame({'data': 
                    np.maximum(0, np.minimum(np.arange(0, -365, -1) + 182, 0) + np.minimum(np.arange(365), 182) + np.floor(np.random.normal(50, 50, 365)))},
                    index=pd.date_range('2018-01-01', '2018-12-31'))

_df = df3.resample('W').sum()
plt.figure(figsize=(18, 6), facecolor='white')
plt.plot(_df.index, _df['data'], marker='o')
plt.xticks(rotation=90)
plt.show()
graph data
image.png

Visualisation (total pour un mois)

np.random.seed(0)
df3 = pd.DataFrame({'data': 
                    np.maximum(0, np.minimum(np.arange(0, -365, -1) + 182, 0) + np.minimum(np.arange(365), 182) + np.floor(np.random.normal(50, 50, 365)))},
                    index=pd.date_range('2018-01-01', '2018-12-31'))

_df = df3.resample('MS').sum()
plt.figure(figsize=(18, 6), facecolor='white')
plt.plot(_df.index, _df['data'], marker='o')
plt.xticks(rotation=90)
plt.show()
graph data
image.png

Interpolation de séries chronologiques

L'interpolation de séries chronologiques est souvent utilisée pour les modèles professionnels

Cela peut être fait en utilisant bien asfreq ().

df = pd.DataFrame({'data' : range(0, 30, 2)},
                 index=pd.date_range(start='2018/1/1', end='2018/1/30', freq='2D'))

df2 = df.asfreq('1D')
before after

Date → jour

Utiliser le jour de la semaine ou le jour de la semaine pour les séries datatime

0 est lundi, 6 est dimanche

https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DatetimeIndex.weekday.html

np.random.seed(0)
df3 = pd.DataFrame({'data': 
                    np.maximum(0, np.minimum(np.arange(0, -365, -1) + 182, 0) + np.minimum(np.arange(365), 182) + np.floor(np.random.normal(50, 50, 365)))},
                    index=pd.date_range('2018-01-01', '2018-12-31'))
df3.index.weekday
Int64Index([0, 1, 2, 3, 4, 5, 6, 0, 1, 2,
            ...
            5, 6, 0, 1, 2, 3, 4, 5, 6, 0],
           dtype='int64', length=365)

Recommended Posts

Je connais? Analyse de données à l'aide de Python ou de choses que vous souhaitez utiliser quand vous le souhaitez avec numpy
Je veux utiliser MATLAB feval avec python
Je souhaite utiliser le répertoire temporaire avec Python2
Lorsque vous souhaitez l'utiliser tel quel lorsque vous l'utilisez avec lambda memo
Trois choses auxquelles j'étais accro lors de l'utilisation de Python et MySQL avec Docker
[Python] Je souhaite utiliser uniquement l'index lors de la mise en boucle d'une liste avec une instruction for
Je veux pouvoir analyser des données avec Python (partie 3)
Connaissances à connaître lors de la programmation de concours avec Python2
Je veux pouvoir analyser des données avec Python (partie 1)
[python] Remarques lors de la tentative d'utilisation de numpy avec Cython
Utilisez aggdraw lorsque vous voulez dessiner magnifiquement avec un oreiller
Je veux pouvoir analyser des données avec Python (partie 4)
Je veux pouvoir analyser des données avec Python (partie 2)
[Python] Je souhaite utiliser l'option -h avec argparse
Lorsque vous souhaitez enregistrer les données initiales de Django avec des relations
Précautions lors de l'utilisation de Python avec AtCoder
Choses à garder à l'esprit lors de l'utilisation de cgi avec python.
Je veux déboguer avec Python
Je veux connaître la météo avec LINE bot avec Heroku + Python
Je veux savoir si vous installez Python sur Mac ・ Iroha
[Python] Lorsque vous souhaitez utiliser toutes les variables dans un autre fichier
Lorsque vous souhaitez envoyer un objet avec des requêtes à l'aide de flask
Je veux utiliser jar de python
Je veux analyser les journaux avec Python
Je veux jouer avec aws avec python
Lorsque vous souhaitez utiliser plusieurs versions de la même bibliothèque Python (environnement virtuel utilisant venv)
Un référentiel essentiel à utiliser lorsque vous souhaitez l'essayer avec ansible
Remarque Python: lorsque vous souhaitez connaître les attributs d'un objet
Je souhaite améliorer l'efficacité avec Python même dans le système expérimental (4) Utilisez ser.close () lorsqu'une erreur est générée en utilisant la syntaxe try.
J'ai essayé l'analyse de données IRMf avec python (Introduction au décodage des informations cérébrales)
Conseils (structure de données) à connaître lors de la programmation de compétitions avec Python2
Je souhaite envoyer un e-mail depuis Gmail en utilisant Python.
Je veux frapper 100 sciences des données avec Colaboratory
Je veux faire un jeu avec Python
J'ai essayé d'obtenir des données CloudWatch avec Python
Je veux utiliser le solveur ceres de python
Je ne veux pas utiliser -inf avec np.log
#Unresolved Je veux compiler gobject-introspection avec Python3
Je souhaite utiliser ip vrf avec SONiC
Je veux résoudre APG4b avec Python (chapitre 2)
Je veux écrire dans un fichier avec Python
Qu'utilisez-vous lorsque vous testez avec Python?
Comment créer un environnement lorsque vous souhaitez utiliser python2.7 après l'installation d'Anaconda3
Modèle de bonnes pratiques personnelles à utiliser lorsque vous souhaitez créer MVP avec Flask
Utilisez PIL en Python pour extraire uniquement les données souhaitées d'Exif
Points à garder à l'esprit lors de l'utilisation de Python pour ceux qui utilisent MATLAB
[Didacticiel d'analyse Python dans la base de données avec SQL Server 2017] Étape 2: importer des données dans SQL Server à l'aide de PowerShell
Je veux utiliser mkl avec numpy et scipy sous l'environnement pyenv + poetry
Si vous voulez créer un bot discord avec python, utilisons un framework
Analyse de données avec python 2
Analyse de données avec Python
Je veux gérer l'optimisation avec python et cplex
Paramètres lorsque vous souhaitez exécuter python-mecab avec travis
Note de lecture: Introduction à l'analyse de données avec Python
Lorsque vous souhaitez filtrer avec le framework Django REST
Je veux hériter de l'arrière avec la classe de données python
Je veux travailler avec un robot en python.