1、T₂ 几何均值公式如下:
2、核磁T2几何均值计算代码
CSV 文件文件格式:
- 每一行是一个样点(样品深度),列为:
- 第一列是“深度”或其他;
- 第二列及以后(如 TASPEC0 ~ TASPEC199)是该深度对应代码中的 amplitudes;
- 对应的 T₂ 值数组 是一个你提供的长度为 200 的列表。
# 项目:核磁T2几何均值计算
# 文件:main.py
# 作者:陈不like
# 日期 :2025/7/31 15:13
import numpy as np
import pandas as pd# 1. 读取CSV文件
csv_path = 'V12核磁.csv' # 替换为你的文件路径# 尝试多种编码
encodings = ['utf-8', 'gbk', 'cp936', 'utf-8-sig', 'cp1252']
for enc in encodings:try:df = pd.read_csv(csv_path, encoding=enc)print(f"✅ 成功读取 CSV 文件,使用编码:{enc}")breakexcept UnicodeDecodeError:print(f"❌ 编码失败:{enc}")
else:raise ValueError("无法解析 CSV 文件的编码,请检查文件是否损坏或尝试另存为 UTF-8 编码。")# 2. 提供 T2 值列表(200个)
T2_values = np.array([0.3, 0.314211269, 0.329095739, 0.3446853, 0.361013352, 0.378114879, 0.39602652, 0.414786652, 0.434435468, 0.455015067,0.476569539, 0.499145066, 0.522790016, 0.547555048, 0.573493223, 0.600660112, 0.62911392, 0.658915612, 0.690129036, 0.722821068,0.757061751, 0.792924446, 0.830485989, 0.869826856, 0.911031335, 0.954187708, 0.999388436, 1.046730364, 1.096314921, 1.148248344,1.202641899, 1.259612125, 1.319281083, 1.381776612, 1.447232611, 1.51578932, 1.587593621, 1.662799356, 1.741567655, 1.824067278,1.910474983, 2.000975899, 2.095763924, 2.195042143, 2.29902326, 2.407930057, 2.521995866, 2.641465074, 2.766593647, 2.897649672,3.034913939, 3.178680538, 3.329257489, 3.486967406, 3.652148183, 3.825153722, 4.006354689, 4.196139308, 4.394914195, 4.603105227,4.821158455, 5.04954106, 5.288742354, 5.539274829, 5.801675251, 6.076505818, 6.364355355, 6.665840583, 6.981607437, 7.31233245,7.658724205, 8.021524848, 8.401511683, 8.799498835, 9.216338997, 9.652925251, 10.11019299, 10.58912191, 11.09073812, 11.61611635,12.16638221, 12.74271466, 13.34634849, 13.97857701, 14.64075475, 15.33430045, 16.06070003, 16.82150981, 17.61835984, 18.45295737,19.32709053, 20.24263216, 21.20154382, 22.20587999, 23.25779247, 24.35953498, 25.51346803, 26.72206392, 27.98791208, 29.31372461,30.70234206, 32.15673958, 33.68003321, 35.27548662, 36.9465181, 38.69670784, 40.52980564, 42.44973892, 44.46062117, 46.56676072,48.77266999, 51.08307517, 53.50292631, 56.03740797, 58.69195031, 61.47224069, 64.38423594, 67.43417501, 70.62859243, 73.97433227,77.47856282, 81.14879191, 84.99288306, 89.01907225, 93.23598563, 97.652658, 102.2785521, 107.1235789, 112.1981191, 117.5130447,123.0797432, 128.9101411, 135.0167303, 141.412594, 148.1114356, 155.1276073, 162.4761413, 170.1727821, 178.2340195, 186.6771251,195.5201881, 204.782155, 214.4828696, 224.6431157, 235.2846618, 246.4303075, 258.1039325, 270.3305475, 283.1363483, 296.5487714,310.596553, 325.3097906, 340.7200075, 356.8602202, 373.7650093, 391.4705934, 410.0149069, 429.4376813, 449.7805298, 471.0870374,493.4028534, 516.7757896, 541.2559228, 566.8957019, 593.7500604, 621.8765339, 651.3353837, 682.1897257, 714.5056656, 748.3524406,783.8025677, 820.9319991, 859.8202851, 900.5507441, 943.2106415, 987.8913765, 1034.688678, 1083.70281, 1135.038785, 1188.806592,1245.121427, 1304.103947, 1365.880522, 1430.583509, 1498.351535, 1569.329792, 1643.670354, 1721.532494, 1803.083035, 1888.496697,1977.956481, 2071.654056, 2169.790169, 2272.575078, 2380.229, 2492.982585, 2611.077408, 2734.76649, 2864.314834, 3000
])# ✅ 3. 第一列为深度,后面为200道核磁分布。
# 取每行的第2列(索引1)起的200列作为 amplitudes
amplitudes_array = df.iloc[:, 1:1+200].values # 索引,从1开始取200列# 4. 计算 T2 几何均值
log_T2 = np.log(T2_values)
weighted_log_T2 = np.sum(amplitudes_array * log_T2, axis=1) / np.sum(amplitudes_array, axis=1)
T2LM= np.exp(weighted_log_T2)# 5. 加入结果列
df['T2LM'] = T2LM# 6. 保存结果
df.to_csv('V12核磁with_T2LM.csv', index=False)
print("✅ 成功计算并保存 T2 几何均值至 'V12核磁with_T2LM.csv'")
核磁T2时间轴
DEPTH 0.3 0.314211269 0.329095739 0.3446853 0.361013352 0.378114879 0.39602652 0.414786652 0.434435468 0.455015067 0.476569539 0.499145066 0.522790016 0.547555048 0.573493223 0.600660112 0.62911392 0.658915612 0.690129036 0.722821068 0.757061751 0.792924446 0.830485989 0.869826856 0.911031335 0.954187708 0.999388436 1.046730364 1.096314921 1.148248344 1.202641899 1.259612125 1.319281083 1.381776612 1.447232611 1.51578932 1.587593621 1.662799356 1.741567655 1.824067278 1.910474983 2.000975899 2.095763924 2.195042143 2.29902326 2.407930057 2.521995866 2.641465074 2.766593647 2.897649672 3.034913939 3.178680538 3.329257489 3.486967406 3.652148183 3.825153722 4.006354689 4.196139308 4.394914195 4.603105227 4.821158455 5.04954106 5.288742354 5.539274829 5.801675251 6.076505818 6.364355355 6.665840583 6.981607437 7.31233245 7.658724205 8.021524848 8.401511683 8.799498835 9.216338997 9.652925251 10.11019299 10.58912191 11.09073812 11.61611635 12.16638221 12.74271466 13.34634849 13.97857701 14.64075475 15.33430045 16.06070003 16.82150981 17.61835984 18.45295737 19.32709053 20.24263216 21.20154382 22.20587999 23.25779247 24.35953498 25.51346803 26.72206392 27.98791208 29.31372461 30.70234206 32.15673958 33.68003321 35.27548662 36.9465181 38.69670784 40.52980564 42.44973892 44.46062117 46.56676072 48.77266999 51.08307517 53.50292631 56.03740797 58.69195031 61.47224069 64.38423594 67.43417501 70.62859243 73.97433227 77.47856282 81.14879191 84.99288306 89.01907225 93.23598563 97.652658 102.2785521 107.1235789 112.1981191 117.5130447 123.0797432 128.9101411 135.0167303 141.412594 148.1114356 155.1276073 162.4761413 170.1727821 178.2340195 186.6771251 195.5201881 204.782155 214.4828696 224.6431157 235.2846618 246.4303075 258.1039325 270.3305475 283.1363483 296.5487714 310.596553 325.3097906 340.7200075 356.8602202 373.7650093 391.4705934 410.0149069 429.4376813 449.7805298 471.0870374 493.4028534 516.7757896 541.2559228 566.8957019 593.7500604 621.8765339 651.3353837 682.1897257 714.5056656 748.3524406 783.8025677 820.9319991 859.8202851 900.5507441 943.2106415 987.8913765 1034.688678 1083.70281 1135.038785 1188.806592 1245.121427 1304.103947 1365.880522 1430.583509 1498.351535 1569.329792 1643.670354 1721.532494 1803.083035 1888.496697 1977.956481 2071.654056 2169.790169 2272.575078 2380.229 2492.982585 2611.077408 2734.76649 2864.314834 3000
DEPTH 0.3 0.347216216 0.401883337 0.46515747 0.538393738 0.623160619 0.721273539 0.834833754 0.966273346 1.118407318 1.294493875 1.498304211 1.734203267 2.007243222 2.323271688 2.68905695 3.112432919 3.602466907 4.169653822 4.826140933 5.585988021 6.465468498 7.483417927 8.66163742 10.02536054 11.60379373 13.4307418 15.54533194 17.99285168 20.8257188 24.10460394 27.89972997 32.29237596 37.37661783 43.26134325 50.07258356 57.95621302 67.08107288 77.64258747 89.8669495 104.0159644 120.3926572 139.3477626 161.2872362 186.680949 216.0727503 250.0921154 289.4676264 335.0425767 387.7930309 448.8487293 519.517283 601.3121788 695.9851928 805.5639078 932.3951375 1079.195187 1249.108029 1445.772634 1673.400907 1936.867893 2241.816184 2594.776763 3000