如何在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)