[英]Creating a histogram for each value in multi-index pandas dataframe
以下是我的熊貓數據框的一小部分。 我希望能夠為計數中的每個值獲得單獨的“ 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(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'])
然后可以將返回的值存儲在另一個數組中。
預先感謝您的幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.