python“~”符号的用法

example:

df2 = df.loc[~df[col].isin(list)]

“~”符号在这里是取反的意思,表示对 df[col].isin(list) 这句返回的值取反,主要用于数据的 slicing。比如 df 是如下的格式:

我们希望从 df 中删去 list = ['H', 'I', 'J', 'K', 'L', 'M', 'N'] 中的列,但是注意到

['H', 'I', 'J', 'K', 'L', 'M', 'N']

df 中只有 'H', 'I', 'J' 是在 list 里面的,我们需要把 'K', 'L', 'M', 'N' 的列都去掉,从而得到以下的df2:

 

我们用 boolean 的操作进行 slicing。
1. 用isin(list) 判断每个 column 是否在 list里面,如果在就返回 True,否则返回 False。
2. 用 df[col] 对每个列都进行判断,由 df[col].isin(list) 返回针对每个列的 True/False 值,也就是 [False, False, False, False, False, False, False, True, True, True]。
3. 用 ~ 对 True/False 值列表进行取反,得到 [True, True, True, True, True, True, True, False, False, False]
4. 用 df.loc 选择出 boolean 值为 True 的前6列,得到 df2:

### 回答1: 在Python中,~是按位取反操作符。它将一个整数的二进制表示的每个位取反,即0变为1,1变为0。以下是一些例子: ``` >>> bin(10) '0b1010' >>> ~10 -11 ``` 在上面的例子中,10的二进制表示为1010,~10将每个位取反得到0101,即5,然后再加上负号,结果为-5。 需要注意的是,~操作符只适用于整数类型,对于其他类型会抛出TypeError异常。 ### 回答2: 在Python中,~是一个位操作符,用于按位取反运算符。它可以应用于整数类型的数据。当应用于一个整数时,~将每个二进制位取反,即将0变为1,将1变为0。这与其他编程语言中的逻辑非运算符(!)不同,它是应用于布尔类型的操作数。 例如,对于一个整数变量a,假设其二进制表示为00001111,那么~a的结果为11110000。这意味着~a将二进制中的0变为1,1变为0,得到的结果为11110000。 当然,这只是二进制的表示方式,我们在使用这个运算符时实际上更关注它的效果。~a的结果可以理解为对a取反后的数值。具体而言,取反运算符~将一个整数变量的每个二进制位取反,并返回一个新的整数。这个新的整数与原整数的双补码表示方式相同,但符号位被取反。 需要注意的是,取反运算符~不会改变原整数本身,它只是返回一个新的整数,所以在使用时需要将这个新的值赋给一个变量或直接使用。 总结来说,Python中的取反运算符~用于按位取反操作,将每个二进制位的0变为1,1变为0,并返回一个新的整数。 ### 回答3: 在Python中,~是按位取反的操作符。它可以应用于整数类型的变量和表达式。 当应用于一个整数时,~会将这个整数的二进制表示中的每个位取反(1变为0,0变为1)。 例如,对于整数5来说,它的二进制表示是101,那么~5就变成了-6,它的二进制表示是11111111111111111111111111111010(在最左边的位是符号位,用来表示正负)。 需要注意的是,~操作符实际上对应的是补码表示中的操作,也就是整数的二进制表示按位取反后加一。 对于正整数来说,按位取反后加一会得到一个负数,而对于负整数来说,按位取反后加一会得到一个正数。 我们可以通过以下示例来说明~的用法: ``` x = 5 print(~x) # 输出-6 y = -8 print(~y) # 输出7 ``` 此外,~操作符还可以用于实现一些特定的位操作,例如用来检查某个位是否为0或1,或者用来将某个位设为0或1。 总之,~操作符在Python中是一个按位取反的功能强大的运算符。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Andy_shenzl

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值