它看起來像我不明白大熊貓groupby如何工作,以及如何使用它。有人可以解釋我做錯了什麼或如何解決我的問題? 我想根據不同的列提取一些數據。看例子:實現熊貓groupby - 索引和切片
Number Name Param1 Param2 Param3
0 1 A 0 0.179264 0.565864
1 2 A 1 0.374258 0.985103
2 1 C 2 0.799988 0.855600
3 3 B 3 0.237612 0.290065
4 3 C 4 0.195463 0.232030
5 2 C 5 0.611886 0.712429
6 4 A 6 0.178465 0.056347
7 1 B 7 0.018789 0.393464
8 5 B 8 0.549566 0.457160
9 4 B 9 0.149801 0.590501
10 4 C 10 0.112857 0.327013
11 3 A 11 0.902660 0.670725
12 2 B 12 0.474427 0.104224
13 5 C 13 0.691259 0.620992
14 5 A 14 0.043179 0.028890
然後我想要做一個涉及兩個循環的操作。基本上,在這個例子中,我想打印每個數字引用的每個Name的參數(作爲一個數組,但這不是問題)[Param1,Param2,Param3]。
因此,一個期望的結果會是什麼樣子: 數1:[[0, 0.179264, 0.565864],[2, 0.799988, 0.855600],[7, 0.018789, 0.393464]]
數2:[[1, 0.374258, 0.985103],[5, 0.611886, 0.712429],[12, 0.474427, 0.104224]]
等(後來我想繪製它們,並使用「名稱」爲標籤
這是代碼:
for n in example.groupby('Number'):
for name in example['Name']:
params = np.array(example.loc[n['Name']==name,['Param1','Param2','Param3']])
print 'Group:', n
print 'Params:\n', params
但好像我無法用數據幀的索引爲GROUPBY對象。此代碼生成TypeError: tuple indices must be integers, not str
。 有可能,我現在提出,試圖弄明白多個錯誤,但它似乎是正確索引和切片g roupby對象是主要問題。