Pandas inplace参数详解

在Pandas库中,inplace参数是一个布尔值(TrueFalse),它用于指定一个操作是否直接在原始数据对象上进行修改,而不是返回一个新的修改后的对象副本。这个参数在多个Pandas函数中都可以使用,特别是那些可能改变数据框(DataFrame)或序列(Series)内容的函数。

inplace=True

  • inplace=True时,函数将直接修改原始数据对象,而不会返回任何值(或者返回None)。
  • 这意味着你不需要将函数的返回值重新赋值给原始变量。
  • 使用inplace=True可以节省内存,因为你不需要存储数据的副本。
  • 但是,这也意味着你失去了原始数据的副本,这在某些情况下可能是不希望的。

inplace=False(默认值)

  • inplace=False(或未指定时,因为这是默认值),函数将返回一个新的修改后的数据对象副本,而原始数据对象保持不变。
  • 这允许你保留原始数据的副本,同时拥有修改后的数据。
  • 然而,这需要更多的内存来存储数据的副本。

示例:

import pandas as pd  
  
df = pd.DataFrame({  
    'A': [1, 2, 3],  
    'B': [4, 5, 6]  
})
df.drop('A', axis=1, inplace=True)  
# 现在df已经修改了,列'A'被删除了  
# 输出:  
#    B  
# 0  4  
# 1  5  
# 2  6
import pandas as pd
import numpy as np
df=pd.DataFrame(np.random.randn(4,3),columns=["A","B","C"])
data=df.drop(["A"],axis=1,inplace=True)
print(df)
print(data)

>> 
          B         C
0  0.472730 -0.626685
1  0.065358  0.031326
2 -0.318582  1.123308
3 -0.097687  0.018820
None


inplace=False:

new_df = df.drop('A', axis=1)  
# 现在df保持不变,而new_df是一个新的DataFrame,列'A'被删除了  
# 输出df:  
#    A  B  
# 0  1  4  
# 1  2  5  
# 2  3  6  
# 输出new_df:  
#    B  
# 0  4  
# 1  5  
# 2  6

猜你喜欢

转载自blog.csdn.net/m0_61338837/article/details/143060369