ホームページ  >  記事  >  バックエンド開発  >  Pythonでの時系列データ分析スキル

Pythonでの時系列データ分析スキル

PHPz
PHPzオリジナル
2023-06-10 16:00:081417ブラウズ

データ時代の継続的な発展に伴い、データ分析スキルはさまざまな業界の実務者にとっての基本的な資質となっています。データ分析のプロセスでは、時系列データの分析スキルが特に重要です。 Pythonは現在最も注目されているプログラミング言語の1つとして、時系列データ分析の分野でも広く使われています。この記事では、読者が大規模な時系列データをより効率的に分析および処理できるように、一般的に使用される Python 時系列データ分析手法をいくつか紹介します。

1. データの種類の紹介

時系列データは、毎日の天気気温、株価、人口、Web サイトのクリック数などのデータを時系列に並べたものです。 Python では、時系列データの分析と処理に Pandas ライブラリと Numpy ライブラリを使用できます。 Pandas で最も一般的に使用されるデータ構造は Series と DataFrame で、Series は 1 列のデータを格納するために使用される 1 次元配列であり、DataFrame は複数列のデータを格納するために使用できる 2 次元のテーブル データ構造です。

2. データの読み込み

分析の前に、まず外部からデータを取得し、データを読み込む必要があります。 Python の Pandas ライブラリと Numpy ライブラリは、さまざまな形式のデータを読み取る複数の方法を提供します。たとえば、CSV 形式でデータを読み取ります。

import pandas as pd

data = pd.read_csv('data.csv')

また、Pandas ライブラリには、データを CSV 形式のファイルに出力できる DataFrame の to_csv メソッドも提供されています。

data.to_csv('data.csv')

3. データ クリーニング

データ クリーニングは、ダーティ データや空のデータの削除、データ タイプの統一、データの検証などを含む、データ分析の重要なステップです。時系列データ分析では、データ クリーニングに補間や特徴選択などの操作が必要になる場合もあります。 Python では、Pandas が提供する Dropna メソッドを使用して欠落データを削除できます。

data = data.dropna()

さらに、時系列データの場合、非定常データ サンプルは何らかの悪影響をもたらす可能性があります。たとえば、データが季節的な傾向を示したり、データが特定の値に近づくために流行が発生したりする可能性があります。 。このとき、Pandas のローリング メソッドを使用してローリング平均を実行し、時系列データを安定させることができます。

rolling_data = data.rolling(window=8, center=False).mean()

4. データ分析

時系列データ分析では、データの定期的な傾向を理解するためにデータに対して定期的な分析を実行する必要があります。 Python では、fft メソッドを使用してデータをフーリエ変換し、データの周波数と振幅を取得できます。

import numpy as np

Fs = 1000   #采样频率
Ts = 1.0 / Fs #采样周期
L = 1500   #数据长度
t = np.linspace(0.0, L*Ts, L, endpoint=False)
data = np.sin(10*np.pi*t) + 0.5*np.sin(50*np.pi*t)

N = len(data)
yf = np.fft.fft(data)
xf = np.linspace(0.0, 1.0/(2.0*Ts), N/2)

import matplotlib.pyplot as plt

plt.plot(xf, 2.0/N * np.abs(yf[0:N/2]))
plt.grid()
plt.show()

5. データの視覚化

データの視覚化は、時系列データ分析の重要な部分であり、データを目の前に表示して、データをより深く理解し、洞察を得るのに役立ちます。 Matplotlib や Seaborn などのライブラリなど、Python で利用できる視覚化ツールがいくつかあります。これらのツールを使用すると、時系列プロット、箱ひげ図、ヒストグラムなどを描画するなど、時系列データを視覚化できます。

import matplotlib.pyplot as plt
import seaborn as sns

# 时间序列图
sns.lineplot(x="year", y="volume_sold", data=df)

# 箱形图
sns.boxplot(x="day", y="tip", data=tips)

# 直方图
sns.distplot(df["age"])

6. 結論

時系列データ分析には、データの読み込み、データ クリーニング、データ分析、データの視覚化などの多くの側面が含まれます。Python では、Pandas や Numpy などのライブラリを使用して、日付および時系列データの完全な処理と分析。時系列データ分析に Python を使用すると、データ アナリストがデータの動的な変化や傾向をより適切に把握し、対応するデータ分析と処理計画をより効率的に策定できるようになります。

以上がPythonでの時系列データ分析スキルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。