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())
?两者应该是相同的。