NILM - utilisez nilmtk pour lire les données du collecteur de données iawe

Reportez-vous au cahier
officiel fourni par nilmtk combiné au manuel de l'API pour une compréhension approfondie.

point d'arrêt

import sys
sys.path.append('G:/Code/')
from nilmtk import DataSet

iawe = DataSet(r'G:\Code\DataSet\IAWE\iawe.h5')
elec = iawe.buildings[1].elec
fridge = elec['fridge']
df = next(fridge.load())

Afficher les types de variables actuels
insérez la description de l'image ici
À ce moment, le réfrigérateur est de type ElecMeter, puis appelez la méthode load ()
pour afficher le manuel de l'API
correspondant frige.load () renvoie un générateur de DataFrames insérez la description de l'image ici
, vous pouvez voir que df est un DataFrames à ce temps, jetez un oeil au contenu:
insérez la description de l'image ici

Comment retourner une série de puissance?

Pour vérifier le nombre de colonnes du réfrigérateur de l'appareil, comment recherchez-vous dans le manuel de l'API ? Tout d'abord, le frigo à ce moment est de type ElecMeter, alors trouvez le manuel
dans la méthode définie par ElecMeter , appelez available_columns(), et renvoyez une liste, les éléments de la liste sont des tuples et les tuples sont sous la forme de ( , ).

insérez la description de l'image ici

print(fridge.available_columns())

Le retour à ce moment est,
insérez la description de l'image ici
par exemple, il faut maintenant retourner une série de puissance apparente, consulter le manuel

insérez la description de l'image ici
Dans le paramètre entrant ac_type="apparent"
qui est

series = next(fridge.power_series(ac_type='apparent'))

insérez la description de l'image ici

Comment spécifier une grandeur physique et retourner la colonne correspondante ?

Grâce à available_columns(), vous pouvez savoir que les grandeurs physiques incluent la puissance, la tension, le courant, la fréquence et le facteur de puissance.
Si vous souhaitez restituer la puissance maintenant et inclure les valeurs active, réactive et apparente, comment l'appelez-vous ? Selon la méthode de chargement d'ElecMeter, les paramètres physical_quantity et ac_type doivent être passés dans
insérez la description de l'image ici
.

df = next(fridge.load(physical_quantity = 'power',ac_type = None))

insérez la description de l'image ici

Comment puis-je renvoyer les données rééchantillonnées si nécessaire ?

D'après l'horodatage ci-dessus, nous pouvons voir que la fréquence d'échantillonnage actuelle est de 1 Hz. Si les données souhaitées sont d'un point de données par minute, comment les lire ?
La méthode load () fournit le paramètre de rééchantillonnage
insérez la description de l'image ici
60s pour prendre un point de données, à savoir

df = next(fridge.load(physical_quantity = 'power',ac_type = None, sample_period=60))

insérez la description de l'image ici

Résumer:

1. frige est un type ElecMeter, donc quand vous voulez lire les données de frige, vous devez trouver une méthode sous ElecMeter selon le manuel. 2.
Lorsque vous avez besoin de renvoyer des données sous forme de série, appelez load_series(). Si vous souhaitez extraire des données de puissance, vous pouvez appeler directement power_series()
3. Lorsque vous devez renvoyer des données sous la forme de DataFrame, appelez load().

Mise à jour à 22:26:50 le 9 mai 2023 : Le lien est dans la zone de commentaire, et vous devez vous connecter scientifiquement.

Je suppose que tu aimes

Origine blog.csdn.net/aa2962985/article/details/121141974
conseillé
Classement