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 サイトの他の関連記事を参照してください。