这是我的代码,试图规范我的数据集,代码工作,但问题是,当我创建新的数据框架(我的代码的最后一行),它不包括时间戳列,因为它只是包括缩放值。
data_consumption2 = pd.read_excel(r"C:\Users\user\Desktop\Thesis\Tarek\Parent.xlsx", sheet_name="Consumption")
data_consumption2['Timestamp'] = pd.to_datetime(data_consumption2['Timestamp'], unit='s')
data_consumption2.fillna(0,inplace=True)
data_consumption2 = data_consumption2.set_index('Timestamp')
#returns a numpy array
min_max_scaler = preprocessing.MinMaxScaler()
x_scaled = min_max_scaler.fit_transform(data_consumption2.values)
data_consumption2 = pd.DataFrame(x_scaled)
我希望有人能帮助我,让我的原始dframe中包含时间戳和缩放值。
你必须设置你创建的新数据框架的索引。
什么是 min_max_scaler.fit_transform
返回的是一个按比例排列的numpy数组(因此失去了索引)。
所以你可以用.NET Framework 2.0来实现。
data_consumption2 = pd.DataFrame(data=x_scaled, index=data_consumption2.index)
如果你想同时检索列,你也可以将它们传递给...。
data_consumption2 = pd.DataFrame(data=x_scaled,
index=data_consumption2.index,
columns=data_consumption2.columns)
更多细节请参见 DataFrame
的文档。https:/pandas.pydata.orgpandas-docsstablereferenceapipandas.DataFrame.html。
这些都是熊猫的基本操作,你应该在他们的文档中找到所有关于它的答案。