python根据显著性水平计算正态分布分位点

该文章展示了如何利用Python的Scipy库计算正态分布的累积分布函数值,并结合Pandas处理Excel数据。通过对数据列的遍历和加总,然后应用norm.ppf函数,将结果存储到新的DataFrame中,最后处理无穷大值和缺失值并保存到新的Excel文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原始数据:

Aaa

Aa

A

Baa

Ba

B

Caa-C

Default

91.69%

8.06%

0.14%

0.06%

0.05%

0.00%

0.00%

0.00%

0.40%

90.07%

9.03%

0.37%

0.05%

0.02%

0.02%

0.04%

0.05%

1.86%

92.32%

5.32%

0.30%

0.09%

0.02%

0.05%

0.02%

0.07%

2.94%

92.86%

3.34%

0.50%

0.14%

0.14%

0.00%

0.02%

0.12%

6.16%

84.67%

7.76%

0.91%

0.37%

0.01%

0.01%

0.04%

0.16%

5.24%

83.80%

9.13%

1.62%

0.00%

0.01%

0.01%

0.02%

0.14%

6.92%

84.15%

8.77%

结果:

完整的代码:

from scipy import stats
import pandas as pd
import numpy as np

data=pd.read_excel("sheet2.xlsx") #读数据
print(data.columns)
print(data.values)
result=[[] for i in range(len(data.values))] # 存放结果
for idx,line in enumerate(data.values):
    temp=0
    for i in line:
        temp=temp+i
        result[idx].append(stats.norm.ppf(temp)) #round(
name=['Aaa', 'Aa', 'A', 'Baa', 'Ba', 'B', 'Caa-C', 'Default']
test=pd.DataFrame(columns=name,data=result)
test=test.replace([np.inf, -np.inf],10) #无穷大
test = test.fillna(-1)
test.to_excel('result.xlsx')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

程序员奇奇

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

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

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

打赏作者

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

抵扣说明:

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

余额充值