首先使用分組的思想,對a列b值下的c值進行整合觀察。
pay = df1.groupby('*位')["c列變量名"].describe()
pay
這里想要補充的一點是其他的求分位數(shù)的方法。
其他求分位數(shù)的方法n = np.percentile(z_df['天數(shù)'],(20,40), interpolation='midpoint')
print('天數(shù)分位數(shù)',a)
這句求解分位數(shù)的代碼非常靈活,可以通過修改數(shù)值而達到自由求解不同分位數(shù)的方法。
第一列被作為了索引值無法引用變量怎么辦?得到描述性統(tǒng)計結(jié)果表如下所示,可以看到,結(jié)果的第一列被作為了索引值,導致在后續(xù)代碼中想引用這個變量卻無法引用。
復制索引列,新增一列變量:
cols = ['*位'] + list(df1.columns)
dangpay.index += 1
dangpay['*位'] = dangpay.index
取出來的值還是表格形式怎么辦?
這個時候我想取【*位】為22的中位數(shù)值,得到的結(jié)果還是表格的形式,并不能賦值給某個變量。
因此需要對該語句加上后綴,只取其數(shù)值。只取值的情況,在變量搜索后加**.values**就好
res = dangpay[dangpay.*位==a][['50%']].values
或者
import numpy as np
new_res = res.astype(np.int)
取出的便只是數(shù)值啦!
填補空值的部分就很簡單了。這里要注意的一點是,判斷是否為空的語句形式:
if pd.isnull(df1.iloc[i,-1]) ==True
綜合填補空值的部分為:
lis = []
for i in range (len(df1)):
if pd.isnull(df1.iloc[i,-1]) ==True:#倒數(shù)第一列變量
a = df1.iloc[i,5]#第五列變量
# 取出*位數(shù)為a的中位數(shù)值
zws = dangpay[dangpay.*位==a][['50%']].values
df1.iloc[i,-1] = int(zws)
lis.append(df1.iloc[i,-1])
print(df1.iloc[i,-1])
else:
lis.append(df1.iloc[i,-1])
print(df1.iloc[i,-1])
df1['aaa'] = lis
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧
當前名稱:python中如何提取a列b值下的c列對應(yīng)值中位數(shù)?-創(chuàng)新互聯(lián)
網(wǎng)站鏈接:http://www.chinadenli.net/article4/dijioe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、標簽優(yōu)化、網(wǎng)站導航、網(wǎng)站收錄、面包屑導航、ChatGPT
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)