禁用索引pandas数据帧

Gea*_*ric 22 python pandas

如何在pandas数据框中删除或禁用索引?

我正在从"python for data analysis"一书中学习大熊猫,我已经知道我可以使用dataframe.drop删除一列或一行.但我没有找到任何关于禁用所有指数的信息.

Vik*_*kez 19

df.values为您提供ndarray没有索引的原始NumPy .

>>> df
   x   y
0  4  GE
1  1  RE
2  1  AE
3  4  CD
>>> df.values
array([[4, 'GE'],
       [1, 'RE'],
       [1, 'AE'],
       [4, 'CD']], dtype=object)
Run Code Online (Sandbox Code Playgroud)

没有索引你不能有一个DataFrame,它们是DataFrame的全部要点:)

但为了清楚起见,此操作不适用:

>>> df.values is df.values
False
Run Code Online (Sandbox Code Playgroud)

DataFrame将数据保存在按类型分组的二维数组中,因此当您需要整个数据框时,它必须找到所有dtypes的LCD并构造该类型的2D数组.

要使用旧数据框中的值来实例化新数据框,只需将旧的DataFrame传递给新的构造函数,并且不会复制任何数据,将重用相同的数据结构:

>>> df1 = pd.DataFrame([[1, 2], [3, 4]])
>>> df2 = pd.DataFrame(df1)
>>> df2.iloc[0,0] = 42
>>> df1
    0  1
0  42  2
1   3  4
Run Code Online (Sandbox Code Playgroud)

但是您可以显式指定copy参数:

>>> df1 = pd.DataFrame([[1, 2], [3, 4]])
>>> df2 = pd.DataFrame(df1, copy=True)
>>> df2.iloc[0,0] = 42
>>> df1
   0  1
0  1  2
1  3  4
Run Code Online (Sandbox Code Playgroud)