数据结构是列表中嵌套列表的形式;
比如:
list = [[1,2,3,4],[3,4,5,6],[6,7,8,9]]
对列表中的每一列求平均值,
比如求 1,3,6 的平均值,4,6,8 的平均值,
请教下这种用 pandas 可以实现吗?
这种求平均值的话,在 python 中使用什么方法实现比较好?
先忽略使用 for 循环吧...
1
ZRS 2019-09-20 19:39:00 +08:00 1
import numpy as np
sample = np.array([[1,2,3,4],[3,4,5,6],[6,7,8,9]]) res = sample.mean(axis=1) |
2
ZRS 2019-09-20 19:46:27 +08:00
列表生成式也可以做 不过可读性不太好
sample = [[1,2,3,4],[3,4,5,6],[6,7,8,9]] res = [sum([i[ind] for i in sample])/len(sample) for ind in range(len(sample[0]))] |
3
zzzbkl 2019-09-20 19:48:37 +08:00 via Android
numpy 转置再求均值试试看
|
4
tennc 2019-09-20 19:59:32 +08:00
```python
import numpy as np lista = [[1,2,4,6],[2,5,6,7],[5,4,6,7],[6,8,2,9]] a = np.array(lista) print(np.mean(a,axis=1)) [3.25 5. 5.5 6.25] ``` |
7
SlipStupig 2019-09-20 20:44:00 +08:00
@ZRS python 有统计库
```python >>> import statistics ... p = [[1,2,3], [3,4,5]] >>> print([statistics.mean(g) for g in p]) [2, 4] ``` |
8
necomancer 2019-09-22 16:45:04 +08:00
In [1]: import numpy as np
In [2]: a = np.ones(3) In [3]: a Out[3]: array([1., 1., 1.]) In [4]: print(a) [1. 1. 1.] In [5]: a.__repr__() Out[5]: 'array([1., 1., 1.])' In [6]: a.__str__() Out[6]: '[1. 1. 1.]' |