[英]Pandas group Excel data by column and Graph Scatter Plot With Mean
假設你有一些數據框:
In [4]: df.head(20)
Out[4]:
product value
0 c 5.155740
1 c 8.983128
2 c 5.150390
3 a 8.379866
4 c 8.094536
5 c 7.464706
6 b 3.690430
7 a 5.547448
8 a 7.709569
9 c 8.398026
10 a 7.317957
11 b 7.821332
12 b 8.815495
13 c 6.646533
14 c 8.239603
15 c 7.585408
16 a 7.946760
17 c 5.276864
18 c 8.793054
19 b 11.573413
您需要有一個產品的數值來繪制它,所以快速而干燥,只需通過映射數值創建一個新列:
In [5]: product_map = {p:r for p,r in zip(df['product'].unique(), range(1, df.values.shape[0]+1))}
In [6]: product_map
Out[6]: {'a': 2, 'b': 3, 'c': 1}
當然,有很多方法可以實現這一點......
現在,創建一個新列:
In [8]: df['product_code'] = df['product'].map(product_map)
In [9]: df.head(20)
Out[9]:
product value product_code
0 c 5.155740 1
1 c 8.983128 1
2 c 5.150390 1
3 a 8.379866 2
4 c 8.094536 1
5 c 7.464706 1
6 b 3.690430 3
7 a 5.547448 2
8 a 7.709569 2
9 c 8.398026 1
10 a 7.317957 2
11 b 7.821332 3
12 b 8.815495 3
13 c 6.646533 1
14 c 8.239603 1
15 c 7.585408 1
16 a 7.946760 2
17 c 5.276864 1
18 c 8.793054 1
19 b 11.573413 3
現在,使用plot
中的輔助方法pandas
基本上是圍繞一個包裝matplotlib
:
In [10]: df.plot(kind='scatter', x = 'product_code', y = 'value')
Out[10]: <matplotlib.axes._subplots.AxesSubplot at 0x12235abe0>
和輸出:
顯然,這是快速而骯臟的,但它應該讓你繼續前進......
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.