在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.
网友评论