import pandas as pd
pd. options. display. max_columns = None
data = pd. read_csv( r'总.csv' , encoding= 'utf-8' )
DM_MCI = data. iloc[ 0 : 22 , : ] . describe( )
zhixinqujian_up = DM_MCI. iloc[ 1 , : ] + 2.0796 * DM_MCI. iloc[ 2 , : ] / ( 22 ) ** ( 1 / 2 )
zhixinqujian_d = DM_MCI. iloc[ 1 , : ] - 2.0796 * DM_MCI. iloc[ 2 , : ] / ( 22 ) ** ( 1 / 2 )
DM_MCI = DM_MCI. append( zhixinqujian_up, ignore_index= True )
DM_MCI = DM_MCI. append( zhixinqujian_d, ignore_index= True )
DM_MCI. index = [ 'count' , 'mean' , 'std' , 'min' , '25%' , '50%' , '75%' , 'max' , 'c_up' , 'c_down' ]
print ( DM_MCI)
编号 年龄(岁) 收缩压 mmHg 舒张压 mmHg 体重 Kg 身高 m \
count 22.000000 22.000000 22.000000 22.000000 22.000000 22.000000
mean 11.500000 65.363636 135.545455 78.545455 67.227273 1.656364
std 6.493587 7.188254 14.194993 8.857213 8.831393 0.070342
min 1.000000 50.000000 101.000000 65.000000 52.000000 1.480000
25% 6.250000 61.500000 130.000000 74.000000 61.000000 1.620000
50% 11.500000 65.500000 135.000000 75.500000 66.000000 1.670000
75% 16.750000 71.000000 141.500000 81.500000 70.750000 1.705000
max 22.000000 76.000000 160.000000 95.000000 86.000000 1.760000
c_up 14.379076 68.550708 141.839120 82.472497 71.142867 1.687551
c_down 8.620924 62.176564 129.251789 74.618413 63.311678 1.625176
DM_HC = data. iloc[ 22 : 45 , : ] . describe( )
zhixinqujian_up = DM_HC. iloc[ 1 , : ] + 2.0739 * DM_HC. iloc[ 2 , : ] / ( 22 ) ** ( 1 / 2 )
zhixinqujian_d = DM_HC. iloc[ 1 , : ] - 2.0739 * DM_HC. iloc[ 2 , : ] / ( 22 ) ** ( 1 / 2 )
DM_HC = DM_HC. append( zhixinqujian_up, ignore_index= True )
DM_HC = DM_HC. append( zhixinqujian_d, ignore_index= True )
DM_HC. index = [ 'count' , 'mean' , 'std' , 'min' , '25%' , '50%' , '75%' , 'max' , 'c_up' , 'c_down' ]
print ( DM_HC)
编号 年龄(岁) 收缩压 mmHg 舒张压 mmHg 体重 Kg 身高 m \
count 23.000000 23.000000 23.000000 23.000000 23.000000 23.000000
mean 34.000000 57.217391 137.391304 83.521739 65.391304 1.671304
std 6.782330 8.388068 12.576093 8.050238 9.013823 0.102217
min 23.000000 45.000000 109.000000 70.000000 50.000000 1.470000
25% 28.500000 51.000000 128.500000 76.500000 59.500000 1.605000
50% 34.000000 58.000000 137.000000 85.000000 68.000000 1.660000
75% 39.500000 62.000000 146.500000 88.000000 71.500000 1.745000
max 45.000000 75.000000 158.000000 99.000000 80.000000 1.900000
c_up 36.998854 60.926234 142.951911 87.081208 69.376829 1.716500
c_down 31.001146 53.508549 131.830697 79.962271 61.405780 1.626109
颞叶脑沟_左 颞叶脑沟_右 丘脑_左 丘脑_右
count 23.000000 23.000000 23.000000 22.000000
mean 359.869565 335.304348 6013.086957 6036.500000
std 211.291549 202.637032 606.320266 577.853891
min 68.000000 20.000000 4824.000000 4768.000000
25% 179.000000 194.000000 5641.500000 5691.500000
50% 358.000000 262.000000 6125.000000 6106.000000
75% 474.500000 487.500000 6410.500000 6395.000000
max 870.000000 792.000000 6975.000000 7118.000000
c_up 453.293595 424.901723 6281.175685 6292.002123
c_down 266.445535 245.706973 5744.998228 5780.997877
HC = data. iloc[ 45 : , : ] . describe( )
zhixinqujian_up = HC. iloc[ 1 , : ] + 2.0796 * HC. iloc[ 2 , : ] / ( 22 ) ** ( 1 / 2 )
zhixinqujian_d = HC. iloc[ 1 , : ] - 2.0796 * HC. iloc[ 2 , : ] / ( 22 ) ** ( 1 / 2 )
HC = HC. append( zhixinqujian_up, ignore_index= True )
HC = HC. append( zhixinqujian_d, ignore_index= True )
HC. index = [ 'count' , 'mean' , 'std' , 'min' , '25%' , '50%' , '75%' , 'max' , 'c_up' , 'c_down' ]
print ( HC)
编号 年龄(岁) 收缩压 mmHg 舒张压 mmHg 体重 Kg 身高 m \
count 22.000000 22.000000 22.000000 22.000000 22.000000 22.000000
mean 56.500000 56.545455 124.136364 78.909091 62.590909 1.649545
std 6.493587 7.404807 12.472047 8.123506 9.085096 0.084880
min 46.000000 44.000000 102.000000 61.000000 42.000000 1.460000
25% 51.250000 52.750000 117.250000 74.000000 56.250000 1.595000
50% 56.500000 57.000000 123.000000 78.000000 66.500000 1.650000
75% 61.750000 59.750000 128.750000 80.750000 69.500000 1.697500
max 67.000000 75.000000 147.000000 97.000000 75.000000 1.800000
c_up 59.379076 59.828540 129.666123 82.510828 66.618988 1.687179
c_down 53.620924 53.262369 118.606605 75.307354 58.562830 1.611912
颞叶脑沟_左 颞叶脑沟_右 丘脑_左 丘脑_右
count 22.000000 22.000000 22.000000 21.000000
mean 302.727273 313.590909 6111.000000 6235.571429
std 211.620996 152.284714 460.146043 458.019058
min 78.000000 97.000000 5186.000000 5464.000000
25% 140.750000 184.500000 5760.000000 5913.000000
50% 280.500000 291.000000 6123.500000 6220.000000
75% 378.500000 435.000000 6479.750000 6531.000000
max 914.000000 667.000000 6882.000000 7110.000000
c_up 396.554141 381.109719 6315.015968 6438.644350
c_down 208.900404 246.072099 5906.984032 6032.498507
sw2 = ( ( 22 - 1 ) * DM_MCI. iloc[ 2 , : ] ** 2 + ( 23 - 1 ) * DM_HC. iloc[ 2 , : ] ** 2 ) / ( 22 + 23 - 2 )
up = DM_MCI. iloc[ 1 , : ] - DM_HC. iloc[ 1 , : ] + ( sw2) ** ( 1 / 2 ) * ( 1 / 22 + 1 / 23 ) ** ( 1 / 2 ) * 2.0167
down = DM_MCI. iloc[ 1 , : ] - DM_HC. iloc[ 1 , : ] - ( sw2) ** ( 1 / 2 ) * ( 1 / 22 + 1 / 23 ) ** ( 1 / 2 ) * 2.0167
bijiao = DM_MCI
bijiao. index = [ '置信上限' , '置信下限' , '零值判断' , '是否有差异' , '2' , '3' , '4' , '5' , '6' , '7' ]
bijiao. iloc[ 0 , : ] = up
bijiao. iloc[ 1 , : ] = down
bijiao. iloc[ 2 , : ] = up* down
for i in range ( 197 ) :
if bijiao. iloc[ 2 , i] <= 0 :
bijiao. iloc[ 3 , i] = '无差异'
else :
bijiao. iloc[ 3 , i] = '有差异'
print ( bijiao. iloc[ 0 : 4 , : ] )
编号 年龄(岁) 收缩压 mmHg 舒张压 mmHg 体重 Kg 身高 m BMI Kg/m2 \
置信上限 -18.5049 12.8524 6.20778 0.108037 7.20369 0.0380454 3.29196
置信下限 -26.4951 3.44012 -9.89948 -10.0606 -3.53175 -0.0679268 -0.818482
零值判断 490.289 44.2137 -61.4538 -1.08692 -25.4417 -0.0025843 -2.69441
是否有差异 有差异 有差异 无差异 无差异 无差异 无差异 无差异
颞叶脑沟_右 丘脑_左 丘脑_右
置信上限 221.69 26.011 78.2693
置信下限 -22.6622 -699.912 -584.36
零值判断 -5023.99 -18205.4 -45737.4
是否有差异 无差异 无差异 无差异
sw2 = ( ( 22 - 1 ) * DM_MCI. iloc[ 2 , : ] ** 2 + ( 23 - 1 ) * HC. iloc[ 2 , : ] ** 2 ) / ( 22 + 23 - 2 )
up = DM_MCI. iloc[ 1 , : ] - HC. iloc[ 1 , : ] + ( sw2) ** ( 1 / 2 ) * ( 1 / 22 + 1 / 23 ) ** ( 1 / 2 ) * 2.0181
down = DM_MCI. iloc[ 1 , : ] - HC. iloc[ 1 , : ] - ( sw2) ** ( 1 / 2 ) * ( 1 / 22 + 1 / 23 ) ** ( 1 / 2 ) * 2.0181
bijiao = DM_MCI
bijiao. index = [ '置信上限' , '置信下限' , '零值判断' , '是否有差异' , '2' , '3' , '4' , '5' , '6' , '7' ]
bijiao. iloc[ 0 , : ] = up
bijiao. iloc[ 1 , : ] = down
bijiao. iloc[ 2 , : ] = up* down
for i in range ( 197 ) :
if bijiao. iloc[ 2 , i] <= 0 :
bijiao. iloc[ 3 , i] = '无差异'
else :
bijiao. iloc[ 3 , i] = '有差异'
print ( bijiao. iloc[ 0 : 4 , : ] )
编号 年龄(岁) 收缩压 mmHg 舒张压 mmHg 体重 Kg 身高 m BMI Kg/m2 \
置信上限 123.23 -34.2387 -107.638 -85.443 -54.7301 -1.68092 -22.1199
置信下限 -289.22 -71.972 -160.434 -92.4964 -77.5153 -1.75403 -25.4771
零值判断 -35640.5 2464.23 17268.8 7903.17 4242.42 2.94837 563.55
是否有差异 无差异 有差异 有差异 有差异 有差异 有差异 有差异
丘脑_左 丘脑_右
置信上限 848.481 12417.4
置信下限 -14470.3 -26057.2
零值判断 -1.22778e+07 -3.23562e+08
是否有差异 无差异 无差异
sw2 = ( ( 22 - 1 ) * DM_HC. iloc[ 2 , : ] ** 2 + ( 23 - 1 ) * HC. iloc[ 2 , : ] ** 2 ) / ( 22 + 23 - 2 )
up = DM_HC. iloc[ 1 , : ] - HC. iloc[ 1 , : ] + ( sw2) ** ( 1 / 2 ) * ( 1 / 22 + 1 / 23 ) ** ( 1 / 2 ) * 2.0167
down = DM_HC. iloc[ 1 , : ] - HC. iloc[ 1 , : ] - ( sw2) ** ( 1 / 2 ) * ( 1 / 22 + 1 / 23 ) ** ( 1 / 2 ) * 2.0167
bijiao = DM_MCI
bijiao. index = [ '置信上限' , '置信下限' , '零值判断' , '是否有差异' , '2' , '3' , '4' , '5' , '6' , '7' ]
bijiao. iloc[ 0 , : ] = up
bijiao. iloc[ 1 , : ] = down
bijiao. iloc[ 2 , : ] = up* down
for i in range ( 197 ) :
if bijiao. iloc[ 2 , i] <= 0 :
bijiao. iloc[ 3 , i] = '无差异'
else :
bijiao. iloc[ 3 , i] = '有差异'
print ( bijiao. iloc[ 0 : 4 , : ] )
编号 年龄(岁) 收缩压 mmHg 舒张压 mmHg 体重 Kg 身高 m BMI Kg/m2 \
置信上限 -18.5089 5.42328 20.7864 9.47675 8.24339 0.07814 2.16156
置信下限 -26.4911 -4.07941 5.72347 -0.251458 -2.6426 -0.0346222 -1.24504
零值判断 490.321 -22.1238 118.97 -2.383 -21.784 -0.00270538 -2.69123
是否有差异 有差异 无差异 有差异 无差异 无差异 无差异 无差异
颞叶脑沟_右 丘脑_左 丘脑_右
置信上限 129.16 224.764 113.666
置信下限 -85.7332 -420.59 -511.809
零值判断 -11073.3 -94533.5 -58175.1
是否有差异 无差异 无差异 无差异
DM_MCI_df = data. iloc[ 0 : 22 , : ]
DM_MCI_gaoxueya_ratio = DM_MCI_df. iloc[ : , 11 ] . sum ( ) / 22
print ( DM_MCI_gaoxueya_ratio)
DM_MCI_gaoxuezhi_ratio = DM_MCI_df. iloc[ : , 12 ] . sum ( ) / 22
print ( DM_MCI_gaoxuezhi_ratio)
DM_MCI_gaoniaosuan_ratio = DM_MCI_df. iloc[ : , 13 ] . sum ( ) / 22
print ( DM_MCI_gaoniaosuan_ratio)
0.6818181818181818
0.22727272727272727
0.18181818181818182
DM_HC_df = data. iloc[ 22 : 45 , : ]
DM_HC_gaoxueya_ratio = DM_HC_df. iloc[ : , 11 ] . sum ( ) / 23
print ( DM_HC_gaoxueya_ratio)
DM_HC_gaoxuezhi_ratio = DM_HC_df. iloc[ : , 12 ] . sum ( ) / 23
print ( DM_HC_gaoxuezhi_ratio)
DM_HC_gaoniaosuan_ratio = DM_HC_df. iloc[ : , 13 ] . sum ( ) / 23
print ( DM_HC_gaoniaosuan_ratio)
0.6086956521739131
0.391304347826087
0.17391304347826086
HC_df = data. iloc[ 45 : , : ]
HC_gaoxueya_ratio = HC_df. iloc[ : , 11 ] . sum ( ) / 22
print ( HC_gaoxueya_ratio)
HC_gaoxuezhi_ratio = HC_df. iloc[ : , 12 ] . sum ( ) / 22
print ( HC_gaoxuezhi_ratio)
HC_gaoniaosuan_ratio = HC_df. iloc[ : , 13 ] . sum ( ) / 22
print ( HC_gaoniaosuan_ratio)
0.4090909090909091
0.18181818181818182
0.045454545454545456
def sw ( p1, n1, p2, n2) :
sw2 = ( ( n1- 1 ) * p1* ( 1 - p1) + ( n2- 1 ) * p2* ( 1 - p2) ) / ( n1+ n2- 2 )
return sw2
def confindence ( p1, n1, p2, n2, t) :
up_c = p1 - p2 + ( t* sw( p1, n1, p2, n2) ** ( 1 / 2 ) ) / ( 1 / n1+ 1 / n2) ** ( 1 / 2 )
down_c = p1 - p2 - ( t* sw( p1, n1, p2, n2) ** ( 1 / 2 ) ) / ( 1 / n1+ 1 / n2) ** ( 1 / 2 )
return up_c, down_c
print ( confindence( DM_MCI_gaoxueya_ratio, 22 , DM_HC_gaoxueya_ratio, 23 , 2.0167 ) )
print ( confindence( DM_MCI_gaoxuezhi_ratio, 22 , DM_HC_gaoxuezhi_ratio, 23 , 2.0167 ) )
print ( confindence( DM_MCI_gaoniaosuan_ratio, 22 , DM_HC_gaoniaosuan_ratio, 23 , 2.0167 ) )
(3.3008538262069607, -3.1546087669184235)
(2.91742035711708, -3.2454835982237995)
(2.5932383950619036, -2.5774281183820618)
print ( confindence( HC_gaoxueya_ratio, 22 , DM_HC_gaoxueya_ratio, 23 , 2.0167 ) )
print ( confindence( HC_gaoxuezhi_ratio, 22 , DM_HC_gaoxuezhi_ratio, 23 , 2.0167 ) )
print ( confindence( HC_gaoniaosuan_ratio, 22 , DM_HC_gaoniaosuan_ratio, 23 , 2.0167 ) )
(3.1127948617477603, -3.512004347913768)
(2.773039495207817, -3.1920118272236273)
(1.95253773368926, -2.2094547297366907)
print ( confindence( HC_gaoxueya_ratio, 22 , DM_MCI_gaoxueya_ratio, 22 , 2.0181 ) )
print ( confindence( HC_gaoxuezhi_ratio, 22 , DM_MCI_gaoxuezhi_ratio, 22 , 2.0181 ) )
print ( confindence( HC_gaoniaosuan_ratio, 22 , DM_MCI_gaoniaosuan_ratio, 22 , 2.0181 ) )
(2.932640259418825, -3.4780948048733697)
(2.6501189193585626, -2.7410280102676534)
(1.9382767150806592, -2.2110039878079317)
for i in range ( 197 ) :
if type ( DM_MCI_df. iloc[ 2 , i] ) == type ( 'sr' ) :
pass
else :
corr = DM_MCI_df. iloc[ : , 52 ] . corr( DM_MCI_df. iloc[ : , i] , method= "pearson" )
if corr>= 0.5 :
print ( i)
print ( DM_MCI_df. columns[ i] )
print ( corr)
43
Cre umol/L(血)
0.5618838735471372
45
UACR mg/mmol
0.5029846424510078
46
24小时尿蛋白 mg/24h
0.5238626310109578
52
Fazekas 量表
1.0
53
改良Scheltens量表
0.8449524938878122
54
备注
0.8449524938878122
55
中文
0.8449524938878122
for i in range ( 197 ) :
if type ( DM_HC_df. iloc[ 2 , i] ) == type ( 'sr' ) :
pass
else :
corr = DM_HC_df. iloc[ : , 52 ] . corr( DM_HC_df. iloc[ : , i] , method= "pearson" )
if corr>= 0.5 :
print ( i)
print ( DM_HC_df. columns[ i] )
print ( corr)
52
Fazekas 量表
1.0
53
改良Scheltens量表
0.8802986479606757
54
备注
0.8802986479606757
55
中文
0.8802986479606757
for i in range ( 197 ) :
if type ( HC_df. iloc[ 2 , i] ) == type ( 'sr' ) :
pass
else :
corr = HC_df. iloc[ : , 52 ] . corr( HC_df. iloc[ : , i] , method= "pearson" )
if corr>= 0.5 :
print ( i)
print ( HC_df. columns[ i] )
print ( corr)
4
收缩压 mmHg
0.6473908149037013
11
高血压史
0.5182273905257923
45
UACR mg/mmol
0.659069697844958
52
Fazekas 量表
1.0
53
改良Scheltens量表
0.9145628288021426
54
备注
0.9145628288021426
55
中文
0.9145628288021426
56
灰质总体积
0.51788661309641
57
白质总体积
0.6074696647386324
59
颅内总体积
0.5252664138882185
60
中文.1
0.5252664138882185
61
左侧海马体
0.5747089370076545
62
右侧海马体
0.623337419687074
71
第四脑室
0.5653561193998942
72
中文.3
0.5653561193998942
74
右侧丘脑
0.5683517233645754
79
左侧杏仁核
0.643501850309859
80
右侧杏仁核
0.5147448170523
81
中文.4
0.5147448170523
96
左侧额下角回
0.5023477376372675
111
右侧后岛叶
0.5486948569867527
116
左侧后中回
0.5037859594960787
129
右侧枕上回
0.5913129045885215
138
左侧枕叶梭状回
0.5161244970182177
139
右侧枕叶梭状回
0.7189564411055331
159
白质体积(μL)
0.58617358563526
162
脑白质前端_左
0.5706322518685493
163
脑白质前端_右
0.5021150370971483
164
基底前脑_左
0.5000715302402381
165
基底前脑_右
0.5454498900888539
166
基底节_左
0.6311000844007744
167
基底节_右
0.6463177765127791
174
胼胝体_左
0.5525854794802145
175
胼胝体_右
0.6079498861670881
181
脑白质下端_左
0.6059457381460603
182
脑白质下端_右
0.5421160006569735
184
脑岛_右
0.5253635857389236
188
边缘白质_左
0.6287053168020581
for i in range ( 197 ) :
if type ( HC_df. iloc[ 2 , i] ) == type ( 'sr' ) :
pass
else :
corr = HC_df. iloc[ : , 50 ] . corr( HC_df. iloc[ : , i] , method= "pearson" )
if corr>= 0.5 :
print ( i)
print ( HC_df. columns[ i] )
print ( corr)
44
GFRml/min/1.73m2
0.5292056142680764
50
MMSE 分
1.0
51
学历
1.0