python-day1

本文探讨了Python中is与==操作符的差异,特别是在处理不可变类型如str和可变类型如list、dict时的不同。此外,介绍了如何使用Decimal进行高精度计算并保留结果。还讲解了print函数的参数用法,以及如何控制输出格式。文章进一步解释了二进制表示中正数和负数的反码和补码概念,并讨论了断言assert在代码调试中的应用。最后,通过一个例子展示了如何在列表推导式中结合if条件语句进行操作。

1.is 和==的区别

当比较变量是不可变类型比如str时,is和==没有区别

当比较变量是list,dict时,is和==不能划等号

原因:

  • is, is not 对比的是两个变量的内存地址
  • ==, != 对比的是两个变量的值

2.保留结果精度Decimal

import decimal

from decimal import Decimal

decimal.getcontext().prec=4

IN:Decimal(3.999999)/Decimal(3)

OUT:1.333

3.被忽略的print

print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)

  • 将对象以字符串表示的方式格式化输出到流文件对象file里。其中所有非关键字参数都按str()方式进行转换为字符串输出;
  • 关键字参数sep是实现分隔符,比如多个参数输出时想要输出中间的分隔字符;
  • 关键字参数end是输出结束时的字符,默认是换行符\n
  • 关键字参数file是定义流输出的文件,可以是标准的系统输出sys.stdout,也可以重定义为别的文件;
  • 关键字参数flush是立即把内容输出到流文件,不作缓存。

4.反码:正数的反码就是原码,负数的反码是符号位不变,其余位取反(对应正数按位取反)。

   补码:正数的补码就是原码,负数的补码是反码+1。

5.assert

  • assert这个关键词我们称之为“断言”,当这个关键词后边的条件为 False 时,程序自动崩溃并抛出AssertionError的异常。

6.列表推导式【总是不知道怎么加入if】

x = [i for i in range(100) if (i % 2) != 0 and (i % 3) == 0]

Python中进行Breslow-Day检验通常涉及到生存分析中的多重终点(Competing Risks)情况,特别是当研究人员想要检查多个结局之间是否存在共同的比例风险假设时。Breslow-Day检验是一种非参数方法,用于评估是否所有的风险比都相等。 以下是一个简单的步骤概述: 1. **导入所需库**:首先,你需要`scipy.stats`库,因为它包含了Breslow-Day检验的函数。 ```python from scipy.stats import breslowday ``` 2. **加载数据**:数据应该包含两个或更多个结局事件的时间和状态变量,比如`event_time`, `censoring_time`, 和`event_type`。 3. **准备数据**:整理数据,使其适合作为Breslow-Day检验的输入,通常是将数据转化为生存表的形式。 4. **计算风险集合函数**:这是检验的基础,对于每个结局,需要计算在特定时间段内的风险集合并暴露时间。 5. **执行Breslow-Day检验**:使用`breslowday`函数,传入各个结局的风险集合并期望暴露值。 ```python test_stat, p_value = breslowday(risk_sets, exposure) ``` `risk_sets` 是一个二维数组,每一行代表一种结局的风险集合;`exposure` 则对应于风险集合的总暴露时间。 6. **解读结果**:`p_value` 小于预设的显著性水平(如0.05),则拒绝原假设(即风险比不全相等),反之接受原假设。 7. **可视化(可选)**:如果你的数据支持,可以绘制风险比图来直观地理解风险比差异。 请注意,这个过程可能会根据实际数据结构有所不同,具体实现可能需要根据你的数据格式进行调整。同时,对于大型数据集,可能需要优化数据处理流程。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值