以下是我的熊貓數據框的一小部分。我希望能夠爲count中的每個值分別獲得'vel_x'直方圖(計數,分箱)。有沒有一種快速,內置的方法來做到這一點,而不是循環計數每個值?爲多指標熊貓數據框中的每個值創建直方圖
+-------+-------+-------+-------+--------+----+--------+
| | | x_loc | y_loc | vel_x | … | vel_z |
+-------+-------+-------+-------+--------+----+--------+
| count | slice | | | | | |
| 1 | 3 | 4 | 0 | 96 | 88 | 35 |
| | 4 | 10 | 2 | 54 | 42 | 37 |
| | 5 | 9 | 32 | 8 | 70 | 34 |
| | 6 | 36 | 89 | 69 | 46 | 78 |
| 2 | 5 | 17 | 41 | 48 | 45 | 71 |
| | 6 | 50 | 66 | 82 | 72 | 59 |
| | 7 | 14 | 24 | 55 | 20 | 89 |
| | 8 | 76 | 36 | 13 | 14 | 21 |
| 3 | 5 | 97 | 19 | 41 | 61 | 72 |
| | 6 | 22 | 4 | 56 | 82 | 15 |
| | 7 | 17 | 57 | 30 | 63 | 88 |
| | 8 | 83 | 43 | 35 | 8 | 4 |
+-------+-------+-------+-------+--------+----+--------+
我已經嘗試了很多方法(應用,地圖等),但我還沒有能夠得到他們任何工作。每個方法只是將映射函數應用於所有行值。
從本質上講,我想這下面映射到計數(count_value)每個值:
def create_histogram(data, count_value):
values, bin_edges = np.histogram(data.loc[count_value, 'vel_x'])
return values
則是這樣的:
data.index.get_level_values('Count').map(create_histrogram(data))
而且,以供參考,這是我的方式目前可以執行我想要的功能,但效率不高,因爲我的數據幀非常大。
for count_value in data.index.get_level_values('Count').unique:
values, bin_edges = np.histogram(data.loc[count_value, 'vel_x'])
返回的值可以存儲在另一個數組中。
非常感謝您的幫助!
你能後的[最低,完整和可覈實(http://stackoverflow.com/幫助/ mcve)代碼你嘗試過的方法之一? –
是的,對不起。我已經發布了代碼。我不覺得代碼本身在這種情況下會非常有用,因爲它顯然是錯誤的。 – AlC