ホームページ  >  記事  >  バックエンド開発  >  Datetime インデックスを Pandas DataFrame の通常の列に変換するにはどうすればよいですか?

Datetime インデックスを Pandas DataFrame の通常の列に変換するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-07 15:17:03648ブラウズ

How to Convert a Datetime Index into a Regular Column in a Pandas DataFrame?

DataFrame への新しい時間列の追加

データをプロットするには、インデックス列 'YYYY-MO- を変換する必要があります。 DD HH-MI-SS_SSS' を通常の列に挿入します。これを実現するには、'reset_index' 関数を利用してインデックスを新しい列に変換します。

df3 = df3.reset_index()

これにより、DataFrame df3 に 'index' という名前の新しい列が作成されます。 .

または、「コピーと割り当て」 メソッドを使用して、既存のインデックスに基づいて新しい列を作成できます。

df3['Time'] = df3.index

これにより、新しい列が追加されます。インデックスの値を含む「Time」という名前の列です。

最適化されたコード

この問題に対処する最適化されたバージョンのコードを次に示します:

# Import CSV file
df = pd.read_csv('university2.csv', sep=";", skiprows=1, index_col='YYYY-MO-DD HH-MI-SS_SSS', parse_dates='YYYY-MO-DD HH-MI-SS_SSS')

# Extract interesting columns
df2 = df[[ 'ATMOSPHERIC PRESSURE (hPa)', 'TEMPERATURE (C)', 'magnetic_mag']].copy()

# Resample and aggregate interesting columns
df3 = df2.resample('H').agg(['mean','std'])
df3.columns = [' '.join(col) for col in df3.columns]

# Reset index to create Time column
df3.reset_index(inplace=True)

# Plot the data
plt.plot(df3['magnetic_mag mean'], df3['Time'], label='FDI')  

この最適化されたコードは、'read_csv' を適切なオプションとともに使用して、インデックス列を設定し、日付を正しく解析します。さらに、'inplace' 機能を利用して、データの不必要なコピーの作成を回避します。

以上がDatetime インデックスを Pandas DataFrame の通常の列に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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