pandas中inplace_对python pandas中 inplace 参数的理解

pandas 中 inplace 参数在很多函数中都会有,它的作用是:是否在原对象基础上进行修改

inplace = True:不创建新的对象,直接对原始对象进行修改;

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

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

例:

inplace=True情况:

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情况:

df=pd.DataFrame(np.random.randn(4,3),columns=["A","B","C"])

data=df.drop(["A"],axis=1,inplace=False)

print(df)

print(data)

>>

A B C

0 -0.731578 0.226483 0.986656

1 0.075936 1.622889 1.767967

2 -1.477780 -0.164374 -1.025555

3 -0.645208 -0.847264 -0.744622

B C

0 0.226483 0.986656

1 1.622889 1.767967

2 -0.164374 -1.025555

3 -0.847264 -0.744622

另外,要注意的是,inplace的取值只有False和True,如给定0或1,会报如下错误:

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

补充知识:pandas.DataFrame.drop_duplicates后面inplace=True与inplace=False的区别

drop_duplicates(inplace=True)是直接对原dataFrame进行操作。

如:

t.drop_duplicates(inplace=True) 则,对t中重复将被去除。

drop_duplicates(inplace=False)将不改变原来的dataFrame,而将结果生成在一个新的dataFrame中。

如:

s = t.drop_duplicates(inplace=False) 则,t的内容不发生改变,s的内容是去除重复后的内容

以上这篇对python pandas中 inplace 参数的理解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
`set_index()` 是 Pandas 用于设置索引的函数,它用于将某些列或者列的组合作为索引,并返回一个DataFrame。`set_index()` 函数可以设置多个索引,也可以设置单个索引。`inplace` 参数是一个可选参数,它用于指定是否在原始 DataFrame 上进行操作。 如果 `inplace=True`,则会在原始 DataFrame 上进行操作,即直接修改原始 DataFrame 的索引,并返回 `None`。这种情况下,不需要将结果赋值给一个的变量。例如: ``` import pandas as pd df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]}) df.set_index('A', inplace=True) ``` 这个代码会将 `A` 列作为索引,直接修改原始 DataFrame,并将其赋值给 `df`。现在,`df` 的索引为 `[1, 2, 3]`。 如果 `inplace=False`,则会返回一个DataFrame,并保留原始 DataFrame 不变。这种情况下,需要将结果赋值给一个的变量。例如: ``` import pandas as pd df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]}) new_df = df.set_index('A', inplace=False) ``` 这个代码会将 `A` 列作为索引,返回一个DataFrame,并将其赋值给 `new_df`。现在,`df` 的索引仍然为 `[0, 1, 2]`,而 `new_df` 的索引为 `[1, 2, 3]`。 总之,`inplace` 参数用于指定是否在原始 DataFrame 上进行操作。如果 `inplace=True`,则会在原始 DataFrame 上进行操作,并返回 `None`;如果 `inplace=False`,则会返回一个DataFrame,并保留原始 DataFrame 不变。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值