我有一個CSV數據集,40列800 ish行。 但是,作爲一個例子可以說,它看起來像這樣:遍歷列表的迭代函數,並追加返回的值
Ref X Y
11 1 10
11 2 9
11 3 8
11 4 7
12 5 6
12 6 5
12 7 4
13 8 3
13 9 2
你會如何定義返回平均X和Y值對每個參考列表的功能?即以產生類似:
Ref_list = [11,12,13]
Av_X = [2.5,6,12.5]
我懷疑這是接近它的最佳方式,但我已經寫了下面的代碼:
my_data = genfromtxt('somedata.csv', delimiter=',',skiprows=1)
X=[]
for i in my_data:
X.append(i[0])
counter=collections.Counter(X)
keys=np.sort((counter.keys())) #find and sort ref key values
def getdata():
X , Y = [], []
for i in my_data:
if i[0] == refs:
X.append(i[1])
Y.append(i[2])
AV_X=np.average(X)
AV_Y=np.average(X)
return AV_X, AV_Y
for refs in keys: # run function over key range
AV_X, AV_Y = getdata()
在這裏,我遇到問題,我試圖遍歷功能超過參考號的範圍。 (鍵)並附加返回的值。但除了錯誤,我只能得到最後一個Ref的值。在鍵中。
我想有一個更好的方法來做到這一點,但我仍然是這個東西的新手。 提前非常感謝您的任何建議
+ 1,打我吧。最乾淨的解決方案。 – root
這讓它變得如此簡單,歡呼! – user1665220
也可以剪切StringIO並將其替換爲文件路徑。 'df = read_csv('test.csv',delim_whitespace = True) df.groupby('Ref')。mean()' – root