[英]Python - Read Columns With Numpy
我有一個文件,可以說以下X,Y,Z列
#file.csv
X,Y,Z
1,2,3
4,2,5
15,9,1
#
我正在嘗試使用numpy讀取X列,並提供平均值,標准偏差和其他統計信息。 我無法讓numpy像我想要的那樣將它們讀取為列。
import numpy as np
import math
my_data = np.genfromtxt(filename, delimiter=',', dtype=float, names=[x,y,z])
如果我執行類似np.average(my_data)
則將平均每一行而不是每一列。 如何將其平均為X,Y和Z,然后將其打印到文件中?
X的數字很長,例如2747477447437.959843848,我不想四舍五入。 這些是ID,完全不能更改! 我該如何實現?
選擇axis = 0
以計算列的平均值(或其他值)。 如果您真的不需要第一列,請在使用genfromtxt
選擇要讀取的cols時指定usecols
參數。
In [1]: import numpy as np
In [2]: from StringIO import StringIO
In [3]: f = StringIO("""X,Y,Z
...: 1,2,3
...: 4,2,5
...: 15,9,1""")
In [4]: arr = np.genfromtxt(f, delimiter=',', dtype=float, skip_header=1)
In [5]: arr
Out[5]:
array([[ 1., 2., 3.],
[ 4., 2., 5.],
[ 15., 9., 1.]])
In [6]: np.average(arr, axis=0)
Out[6]: array([ 6.66666667, 4.33333333, 3. ])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.