Python 如何从数据帧维护同一索引
当我尝试运行此代码时:Python 如何从数据帧维护同一索引,python,Python,当我尝试运行此代码时: X_test = df.values df_new = ks.DataFrame(X_test, columns = ['Sales','T_Year','T_Month','T_Week','T_Day','T_Hour']) 我正在为df_new数据帧获取新索引,该数据帧与df不同 我尝试更改下面的代码以保留字典的索引。但是,它给出了一个错误: X_test = df.values(index=df.index) X_test = df.values(ind
X_test = df.values
df_new = ks.DataFrame(X_test, columns = ['Sales','T_Year','T_Month','T_Week','T_Day','T_Hour'])
我正在为df_new
数据帧获取新索引,该数据帧与df
不同
我尝试更改下面的代码以保留字典的索引。但是,它给出了一个错误:
X_test = df.values(index=df.index)
X_test = df.values(index=df.index)
“numpy.ndarray”对象不可调用 有没有办法维护与数据帧相同的
df\u new
索引
数据帧有一种方法可以手动设置“索引列”。考拉特别接受以下主要论点:
键:标签或类似数组或标签/数组列表此参数可以是单个列键、与调用数据帧长度相同的单个数组,也可以是包含列键和数组任意组合的列表。这里,“数组”包括系列、索引和np.ndarray 这样,您就可以传递原始df的
索引对象:
X_测试=df.values
df_new=ks.DataFrame(X_测试,列=['Sales','T_Year','T_Month','T_Week','T_Day','T_Hour'])
df_new=df_new.set_index(df.index)
现在关于您得到的错误行:
X_test = df.values(index=df.index)
X_test = df.values(index=df.index)
出现错误的原因是您将numpy
数组与pandas
数据帧混淆。
调用数据帧的df
的df.values
时,将返回一个np.ndarray
对象,其中包含所有不带索引的数据帧值。
这不是一个函数,因此您不能通过编写(index=df.index)
来“调用”它
Numpy数组没有自定义的索引,它们只是数组。您的df_new
只关心这一点,您可以按照上面的说明进行设置
免责声明:我无法为这个答案安装koalas
,所以这只在pandas数据帧中测试。如果考拉真的完全支持熊猫的界面,那就应该可以了。请提供更多信息。什么是ks?请显示您的导入和示例。导入databricks.koalas作为kswhat's error?numpy.ndarray'对象在调用此代码时不可调用X_test=df.values(index=df.index)明白了,正在编写我的应答df_new=df_new.set_index(df.index)似乎这在考拉数据帧中不起作用,得到相同的错误如何df_new=df_new.set_index(df.index.values)
或df_new=df_new.set_index(df.index.to_numpy())
?两者应该是相同的。