向 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中文网其他相关文章!