# Python成像质谱流式细胞术病理生理学

{% embed url="https://viadean.notion.site/Python-47627db60986426b88bf7109681ab4f3" %}

{% content-ref url="../zhi-dian-mi-jin-brief" %}
[zhi-dian-mi-jin-brief](../zhi-dian-mi-jin-brief)
{% endcontent-ref %}

### 🎯要点

🎯急性呼吸窘迫综合征病理生理学 | 🎯获取高度多重空间分辨数据 | 🎯临床注释病理学景观 | 🎯使用医学院病理学系提供的组织样本 | 🎯设计抗体组捕获不同免疫和基质区室 | 🎯获取适合代表性的新鲜 切片进行质谱流式细胞术染色 | 🎯对组织切片自动化免疫组织化学 | 🎯预处理质谱流式细胞术数据 | 🎯计算和识别病理类型

### 📜病理学用例

📜Python流感传播感染康复图模型计算和算法

📜Python脑溶质扩散生理几何模型计算

📜Python流感常微分方程房室数学模型

📜Python临床医学病态图学习

### 🍪语言内容分比

{% @mermaid/diagram content="pie title 语言分比
"Python":90
"Shell":10
"C++":20" %}

{% @mermaid/diagram content="pie title 内容分比
"病理生理学":90
"数学":40
"统计学":30
"临床医学":50
"数据分析":40
"组织样本处理":30
"算法":20" %}

### 🍇Python集中趋势

在统计学中，集中趋势（或集中趋势的度量）是概率分布的中心值或典型值。集中趋势最常见的度量是算术平均值、中位数和众数。中间趋势可以针对有限值集或理论分布（例如正态分布）计算。有时作者使用集中趋势来表示“定量数据聚集在某个中心值周围的趋势。分布的集中趋势通常与其离散度或变异性形成对比，离散度和集中趋势是分布的常见特征。分析可以根据数据的离散度判断数据的集中趋势是强还是弱f2。

**算术平均值**

算术平均值也称为平均值，它是通过将观测值之和除以观测值总数来计算的。 μ 用于总体平均值，x̄ 用于样本平均值。

$$
\begin{aligned} \mu & =\frac{\sum X}{N} \\ x & =\frac{\sum x}{n} \end{aligned}
$$

```
 import numpy as np
 import pandas as pd
 ​
 data = np.array([4, 6, 7, 5, 4, 7, 8, 5, 6, 4, 3, 8, 9])
 sum(data)/len(data)
 np.mean(data)
 data_series = pd.Series(data)
 data_series.mean()
```

**加权平均数**

加权平均值是通过将数据向量和权重向量的点积除以权重向量之和来计算的，公式如下

$$
\bar{x}=\frac{\sum_{i=1}^n w_i x_i}{\sum_{i=1}^n w_i}
$$

```python
 data = np.array([48, 29, 59, 29, 49, 50])
 wts = np.array([100, 50, 60, 80,70, 60])
 ​
 sum(data*wts)/sum(wts)
 np.average(data, weights=wts)
```

**随机变量的期望值**

* 使用 `np.unique(data, return_counts = True)` 从数据向量创建值和频率向量
* 通过将数据和频率向量的点积除以频率向量来计算平均值
* 我们还可以通过频率向量 f 计算概率向量来计算期望值：`p = f/sum(f)`
* 现在将概率向量乘以数据向量来计算平均值

方法一：

```python
 data = np.array([4, 6, 7, 5, 4, 7, 8, 5, 6, 4, 3, 8, 9])
 x, f = np.unique(data, return_counts=True)
 ​
 sum(x*f)/sum(f)
 p = f/sum(f)
 sum(x*p)
```

方法二：

```python
 data = np.array([4, 6, 7, 5, 4, 7, 8, 5, 6, 4, 3, 8, 9])
 x, f = np.unique(data, return_counts=True)
 df = pd.DataFrame({'X': x, 'f': f, 'P(X)': f/sum(f)})
 df['XP(X)'] = df['X']*df['P(X)']
 df.loc['Total'] = [sum(x), sum(f), df['P(X)'].sum(), df['XP(X)'].sum()]
```

**几何平均数**

几何平均值定义为 n 个数字乘积的n 次方根，即，对于一组数字 $$x_1, x_2, …, x_n​$$，几何平均值定义为

$$
\left(\prod_{i=1}^n x_i\right)^{\frac{1}{n}}=\sqrt[n]{x_1 x_2 \cdots x_n}
$$

```python
 from scipy.stats.mstats import gmean
 data = np.array([0.5, 1.0, 2.7, 3.48, 4.7])
 gmean(data)
 ​
```

**调和平均值**

调和平均值可以表示为给定观测值集的倒数的算术平均值的倒数。

$$
H=\frac{n}{\frac{1}{x_1}+\frac{1}{x_2}+\cdots+\frac{1}{x_n}}=\frac{n}{\sum_{i=1}^n \frac{1}{x_i}}=\left(\frac{\sum_{i=1}^n x_i^{-1}}{n}\right)^{-1}
$$

```python
 import statistics
 data = [10, 20, 30, 40, 50]
 ​
 statistics.harmonic_mean(data)
```

**中位数**

中位数是中间值，按照以下步骤计算

* 按升序或降序对数据向量进行排序
* 如果数据项是奇数，则中位数位于索引 `(n+1)/2` 处
* 否则取中间两个值的平均值

```python
 data = np.array([3, 5, 6, 3, 4, 2, 7, 5, 2000])
 ​
 np.mean(data)
 np.median(data)
 ser = pd.Series(data)
 ser.mean()
 ser.median()
 ​
```

**众数**

众数是最常见的值，通过计算数据值的出现次数来计算。

```python
 import statistics
 ​
 data = np.array([3, 5, 6, 3, 4, 2, 7, 5, 2000])
 ​
 statistics.mode(data)

 ​
 ser = pd.Series(data)
 ser.mode()
 ​
```
