


Dapatkan dan simpan data siri masa dengan Python
Penterjemah| Bugatti
Pengulas| untuk mendapatkan data siri masa daripada OpenWeatherMap API dan menukarnya menjadi Pandas DataFrame. Seterusnya, kami akan menggunakan Pelanggan Python InfluxDB untuk menulis data ini ke platform data siri masa InfluxDB.
Kami akan menukar respons JSON daripada panggilan API kepada Pandas DataFrame kerana ini adalah cara paling mudah untuk menulis data ke InfluxDB. Memandangkan InfluxDB ialah pangkalan data yang dibina khas, penulisan kami kepada InfluxDB direka bentuk untuk memenuhi keperluan tinggi dari segi pengambilan data siri masa. KeperluanTutorial ini dilengkapkan pada sistem macOS dengan Python 3 dipasang melalui Homebrew. Adalah disyorkan untuk memasang alat tambahan, seperti virtualenv, pyenv atau conda-env, untuk memudahkan pemasangan Python dan Klien. Keperluan penuh ada di sini:Tutorial ini juga mengandaikan bahawa anda telah membuat akaun awan InfluxDB Peringkat Percuma atau sedang menggunakan InfluxDB OSS, dan anda juga mempunyai:
txt influxdb-client=1.30.0 pandas=1.4.3 requests>=2.27.1
Mencipta baldi . Anda boleh menganggap baldi sebagai tahap tertinggi organisasi data dalam pangkalan data atau InfluxDB.
- Token dicipta.
- Akhir sekali, tutorial ini memerlukan anda telah membuat akaun dengan OpenWeatherMap dan mencipta token.
Tukar data kepada Pandas DataFrame
# Get time series data from OpenWeatherMap API params = {'lat':openWeatherMap_lat, 'lon':openWeatherMap_lon, 'exclude': "minutely,daily", 'appid':openWeatherMap_token} r = requests.get(openWeather_url, params = params).json() hourly = r['hourly']
Menulis Pandas DataFrame ke InfluxDB
python # Convert data to Pandas DataFrame and convert timestamp to datetime object df = pd.json_normalize(hourly) df = df.drop(columns=['weather', 'pop']) df['dt'] = pd.to_datetime(df['dt'], unit='s') print(df.head)
Skrip Penuh
on # Write data to InfluxDB with InfluxDBClient(url=url, token=token, org=org) as client: df = df client.write_api(write_options=SYNCHRONOUS).write(bucket=bucket,record=df, data_frame_measurement_name="weather", data_frame_timestamp_column="dt")
Badi InfluxDB
- Organisasi InfluxDBToken InfluxDBURL InfluxDB
- URL OpenWeatherMapToken OpenWeatherMap
- 3. Buat permintaan.
Mencari data
python import requests import influxdb_client import pandas as pd from influxdb_client import InfluxDBClient from influxdb_client.client.write_api import SYNCHRONOUS bucket = "OpenWeather" org = "" # or email you used to create your Free Tier InfluxDB Cloud account token = " url = "" # for example, https://us-west-2-1.aws.cloud2.influxdata.com/ openWeatherMap_token = "" openWeatherMap_lat = "33.44" openWeatherMap_lon = "-94.04" openWeather_url = "https://api.openweathermap.org/data/2.5/onecall" # Get time series data from OpenWeatherMap API params = {'lat':openWeatherMap_lat, 'lon':openWeatherMap_lon, 'exclude': "minutely,daily", 'appid':openWeatherMap_token} r = requests.get(openWeather_url, params = params).json() hourly = r['hourly'] # Convert data to Pandas DataFrame and convert timestamp to datetime object df = pd.json_normalize(hourly) df = df.drop(columns=['weather', 'pop']) df['dt'] = pd.to_datetime(df['dt'], unit='s') print(df.head) # Write data to InfluxDB with InfluxDBClient(url=url, token=token, org=org) as client: df = df client.write_api(write_options=SYNCHRONOUS).write(bucket=bucket,record=df, data_frame_measurement_name="weather", data_frame_timestamp_column="dt")
Rajah 1. Paparan lalai terwujud data cuaca. InfluxDB mengagregatkan data siri masa secara automatik supaya pengguna baharu tidak menanyakan terlalu banyak data secara tidak sengaja dan menyebabkan tamat masa
Rajah 2. Navigasi ke editor skrip dan nyahkomen atau padam fungsi aggregateWindow() untuk melihat data cuaca mentah
Kesimpulan
Semoga artikel ini membantu anda memanfaatkan InfluxDB sepenuhnya Pustaka Pelanggan Python, memperoleh data siri masa dan menyimpannya dalam InfluxDB. Jika anda ingin mengetahui lebih lanjut tentang menggunakan perpustakaan Klien Python untuk menanyakan data daripada InfluxDB, saya syorkan anda melihat artikel ini (https://thenewstack.io/getting-started-with-python-and-influxdb/). Perlu juga dinyatakan bahawa anda boleh menggunakan Flux untuk mendapatkan data daripada OpenWeatherMap API dan menyimpannya ke dalam InfluxDB. Jika anda menggunakan InfluxDB Cloud, ini bermakna skrip Flux akan dihoskan dan dilaksanakan secara berkala, supaya anda boleh mendapatkan aliran data cuaca yang boleh dipercayai yang dimasukkan ke dalam contoh. Untuk mengetahui lebih lanjut tentang cara menggunakan Flux untuk mendapatkan data cuaca pada jadual yang ditentukan pengguna, sila baca artikel ini (https://www.influxdata.com/blog/tldr-influxdb-tech-tips-handling-json-objects- pemetaan- tatasusunan/?utm_source=vendor&utm_medium=referral&utm_campaign=2022-07_spnsr-ctn_obtaining-storing-ts-pything_tns).
Atas ialah kandungan terperinci Dapatkan dan simpan data siri masa dengan Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Ramai pemaju laman web menghadapi masalah mengintegrasikan perkhidmatan node.js atau python di bawah seni bina lampu: lampu sedia ada (Linux Apache MySQL PHP) Laman web seni bina memerlukan ...

Apabila menggunakan crawler scapy, sebab mengapa fail penyimpanan berterusan paip tidak boleh ditulis? Perbincangan Ketika belajar menggunakan Crawler Scapy untuk Crawler Data, anda sering menemui ...

Penyelesaian kepada Isu Kebenaran Semasa Melihat Versi Python di Terminal Linux Apabila anda cuba melihat versi Python di Terminal Linux, masukkan Python ...

Apabila menggunakan Perpustakaan Pandas Python, bagaimana untuk menyalin seluruh lajur antara dua data data dengan struktur yang berbeza adalah masalah biasa. Katakan kita mempunyai dua DAT ...

Proses Python Pool mengendalikan permintaan TCP serentak yang menyebabkan pelanggan terjebak. Apabila menggunakan Python untuk pengaturcaraan rangkaian, adalah penting untuk mengendalikan permintaan TCP serentak dengan cekap. …

Sangat meneroka kaedah tontonan python funcools.partial Object in Funcools.Partial Menggunakan Python ...

Pilihan Perpustakaan Pembangunan Aplikasi Desktop Python Python Banyak pemaju Python ingin membangunkan aplikasi desktop yang boleh dijalankan pada kedua-dua sistem Windows dan Linux ...

Bermula dengan Python: Lukisan Grafik Hourglass dan Pengesahan Input Artikel ini akan menyelesaikan masalah definisi berubah -ubah yang dihadapi oleh pemula python dalam program lukisan grafik Hourglass. Kod ...
