理解Pandas中inplace参数

来自YTYZX有图有真相的百科
Ytyzx讨论 | 贡献2021年11月12日 (五) 10:07的版本 (创建页面,内容为“在pandas 中 ,inplace 参数在很多函数中都会有,它的作用是:是否在原对象基础上进行修改 ​ inplace = True:不创建新的对象,...”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索

在pandas 中 ,inplace 参数在很多函数中都会有,它的作用是:是否在原对象基础上进行修改 ​ inplace = True:不创建新的对象,直接对原始对象进行修改;

​ inplace = False:对数据进行修改,创建并返回新的对象承载其修改结果。

默认是False,即创建新的对象进行修改,原对象不变,和深复制和浅复制有些类似。

下面我们还是一样举个例子来看看:

import pandas as pd import numpy as np import random df=pd.DataFrame(np.random.randn(4,3),columns=["A","B","C"]) df_1=df.drop(["A"],axis=1,inplace=True) print(df) print("df_1:",df_1) 运行结果:


可以看到,此时df_1为None。

下面我们尝试一下将inplace=True改成inplace=False,保持其他不变。

import pandas as pd import numpy as np import random df=pd.DataFrame(np.random.randn(4,3),columns=["A","B","C"]) df_1=df.drop(["A"],axis=1,inplace=False) print(df) print("df_1:",df_1)

可以看到,此时df_1的值与之前发现了变化。

注意~

inplace的取值只有False和True,如给定其他值的话(比如0和1之类的),会以下报错:

ValueError: For argument "inplace" expected type bool, received type int.