向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' 以及適當的選項來正確設定索引列並解析日期。此外,它還利用「就地」功能來避免建立不必要的資料副本。
以上是如何將日期時間索引轉換為 Pandas DataFrame 中的常規欄位?的詳細內容。更多資訊請關注PHP中文網其他相關文章!