【发布时间】:2016-12-09 10:22:43
【问题描述】:
我有代码计算 z 分数的中位数,范围从 0 到 1。Python 将所有这些数字四舍五入为 0。我如何确保这些数字不四舍五入?
这是我计算中位数的代码行:
gene_medians = GCT_object.data_df.median(axis=1)
import matplotlib.pyplot as plt
import parse_gctoo
def histo_plotter(file, plot_title, ax):
# read in file as string
GCT_object = parse_gctoo.parse(file)
# computing median of rows in data_df
gene_medians = GCT_object.data_df.median(axis=1)
unrounded_gm = format(gene_medians, ".7f")
# making histogram of medians
print gene_medians'
.describe 的结果:
/Users/eibelman/miniconda2/envs/josh_env/bin/python2.7 /Users/eibelman/Analysis/ComparingMedianGeneExpressionDifCellLines.py
cid CXA061_SKL_48H_X1_B29:A03 CXA061_SKL_48H_X1_B29:A04 \
计数 978.000000 978.000000
平均 0.072729 0.078196
标准 2.909874 3.086884
最小 -18.698500 -63.467600
25% -0.742375 -0.422625
50% -0.030950 0.205600
75% 0.656550 0.885275
最大 29.803200 27.347300
cid CXA061_SKL_48H_X1_B29:A05 CXA061_SKL_48H_X1_B29:A06 \
计数 978.000000 978.000000
平均 0.036843 0.002883
标准 2.471833 2.576255
最小 -17.170500 -26.433600
25% -0.653925 -0.674250
50% -0.081250 -0.070600
75% 0.548900 0.561250
最大 31.356600 34.249100
cid CXA061_SKL_48H_X1_B29:A07 CXA061_SKL_48H_X1_B29:A08 \
计数 978.000000 978.000000
平均 0.017625 0.096359
标准 2.012941 2.671352
最小 -18.651800 -27.609600
25% -0.711400 -0.730225
50% -0.048900 -0.012100
75% 0.585300 0.670100
最大 23.690800 27.509200
cid CXA061_SKL_48H_X1_B29:A09 CXA061_SKL_48H_X1_B29:A10 \
计数 978.000000 978.000000
均值 -0.024301 -0.048213
标准 3.317470 3.431853
最小 -70.184100 -43.255000
25% -0.556725 -0.916150
50% 0.009950 -0.071200
75% 0.629525 0.836525
最大 32.083000 36.831200
cid CXA061_SKL_48H_X1_B29:A11 CXA061_SKL_48H_X1_B29:A12 \
计数 978.000000 978.000000
平均 0.040646 -0.013686
标准 2.568421 3.296173
最小 -17.213400 -42.862500
25% -0.636600 -0.719425
50% -0.032850 -0.033950
75% 0.593925 0.680675
最大 26.524500 50.334500
cid ... CXA061_SKL_48H_X1_B29:P15 \
数 ... 978.000000
平均... -0.006012
标准... 2.564106
最小 ... -20.208400
25% ... -0.706475
50% ... -0.136300
75% ... 0.557025
最大 ... 27.509500
cid CXA061_SKL_48H_X1_B29:P16 CXA061_SKL_48H_X1_B29:P17 \
计数 978.000000 978.000000
平均值 0.041587 -0.001685
标准 1.713974 3.091669
最小 -12.695900 -34.948900
25% -0.569150 -0.642050
50% 0.000000 0.050800
75% 0.637700 0.818025
最大 22.556600 25.772400
cid CXA061_SKL_48H_X1_B29:P18 CXA061_SKL_48H_X1_B29:P19 \
计数 978.000000 978.000000
均值 -0.019696 0.061637
标准 2.570132 2.648487
最小 -33.142900 -29.076300
25% -0.798700 -0.632600
50% -0.057600 0.048900
75% 0.588375 0.679500
最大 30.018900 30.709400
cid CXA061_SKL_48H_X1_B29:P20 CXA061_SKL_48H_X1_B29:P21 \
计数 978.000000 978.000000
平均 0.026416 -0.004739
标准 2.616890 2.135260
最小 -31.187200 -15.955000
25% -0.608050 -0.732750
50% 0.008050 -0.116500
75% 0.638025 0.647625
最大 23.348100 24.229200
cid CXA061_SKL_48H_X1_B29:P22 CXA061_SKL_48H_X1_B29:P23 \
计数 978.000000 978.000000
平均 0.019632 0.002053
标准 2.581926 2.356626
最小 -23.168000 -27.271400
25% -0.674500 -0.683150
50% -0.026800 -0.001000
75% 0.711800 0.721400
最大 38.533300 27.568000
cid CXA061_SKL_48H_X1_B29:P24
计数 978.000000
均值 -0.043314
标准 1.704406
最小 -9.464100
25% -0.780525
50% -0.144250
75% 0.515325
最大 19.056400
[8 行 x 372 列]
进程以退出代码 0 结束
【问题讨论】:
-
尝试将值转换为浮点数!老实说,虽然需要更多关于如何计算这些中位数的背景信息。如果 data_df 是 pandas 数据框,请告诉我们
-
@GauravDhama 是的,data_df 是熊猫数据框。顺便说一句,这行得通吗:gene_medians = GCT_object.data_df.median(axis=1) unrounded_gm = format(gene_medians, ".7f")
-
您能否发布详细代码,因为这不是 pandas 数据框的常见行为。我认为您在问题中提到的特定代码行不是问题。
-
我添加的代码是我在上面评论的编辑。在我没有使用“.7f”格式之前
-
是 parse_gctoo 一个标准模块在谷歌的任何地方都找不到。