μ΄ μ½λλ 3κ°μ μλΈνλ‘―μΌλ‘ ꡬμ±λ λ¨μΌ νμ μμ±νλ λ° μ μλν©λλ€.
g = np.random.choice([1,2,3], 10)
s = np.random.normal(size=10)
s2 =np.random.normal(size=10)
df = pd.DataFrame([g, s, s2]).T
df.columns = ['key', 's1', 's2']
gb = df.groupby('key')
fig, axes = plt.subplots(nrows=1, ncols=3, figsize=(12, 4))
i = 0
for key, df2 in gb:
df2.plot(ax=axes[i], x='s1', y='s2', title=key)
i = i + 1
κ·Έλ¬λ λ λ²μ§Έ ν(nrows=2)μ μΆκ°νλ €κ³ νλ©΄ μμ± μ€λ₯κ° λ°μν©λλ€.
AttributeError: 'numpy.ndarray' κ°μ²΄μ 'get_figure' μμ±μ΄ μμ΅λλ€.
fig, axes = plt.subplots(nrows=2, ncols=3)
fig.tight_layout() # Or equivalently, "plt.tight_layout()"
i = 1
for key, df2 in gb:
df2.plot(ax=axes[i])
i = i + 1
axes
κ° μ΄μ matplotlib μΆμ 2μ°¨μ λ°°μ΄μ΄κΈ° λλ¬Έμ
λλ€.
In [35]: fig, axes = plt.subplots(nrows=2, ncols=3)
In [36]: axes
Out[36]:
array([[<matplotlib.axes._subplots.AxesSubplot object at 0x10c094ac8>,
<matplotlib.axes._subplots.AxesSubplot object at 0x10ee40b70>,
<matplotlib.axes._subplots.AxesSubplot object at 0x10c0ac240>],
[<matplotlib.axes._subplots.AxesSubplot object at 0x10edf8a90>,
<matplotlib.axes._subplots.AxesSubplot object at 0x10ec27630>,
<matplotlib.axes._subplots.AxesSubplot object at 0x10edc9128>]], dtype=object)
In [37]: axes.shape
Out[37]: (2, 3)
λ€μκ³Ό κ°μ κ²μ μλνμμμ€.
In [38]: for i, (key, df2) in enumerate(gb):
df2.plot(ax=axes[0][i])
λ λ²μ§Έ νμΌλ‘ λλ¬μΈκ³ μΆλ€λ©΄ axes[i // 3][i % 3]
μ κ°μ΄ ν΄μΌ ν©λλ€.
(μλ₯Ό 6κ°μ κ·Έλ£ΉμΌλ‘ νμ₯νμ΅λλ€)
In [67]: df
Out[67]:
key s1 s2
0 3 -1.452043 -0.119374
1 1 0.603860 -1.635034
2 3 0.964165 -0.043124
3 2 0.459628 -0.538155
4 3 0.398761 -0.195261
5 1 0.085750 -0.116766
6 2 -0.397419 -0.140660
7 3 -0.053209 1.547755
8 1 -0.634555 -0.509077
9 3 0.138808 0.608165
10 6 -1.452043 -0.119374
11 4 0.603860 -1.635034
12 6 0.964165 -0.043124
13 5 0.459628 -0.538155
14 6 0.398761 -0.195261
15 4 0.085750 -0.116766
16 5 -0.397419 -0.140660
17 6 -0.053209 1.547755
18 4 -0.634555 -0.509077
19 6 0.138808 0.608165
In [63]: for i, (key, df2) in enumerate(gb):
df2.plot(ax=axes[i // 3][i % 3])
μ λ§ κ³ λ§μμ, ν°. μ΄μ μλ²½νκ² μλν©λλ€. λμμ΄ λλ λ΅λ³μ μ§μ¬μΌλ‘ κ°μ¬λ립λλ€.
κ°μ₯ μ μ©ν λκΈ
λ λ²μ§Έ νμΌλ‘ λλ¬μΈκ³ μΆλ€λ©΄
axes[i // 3][i % 3]
μ κ°μ΄ ν΄μΌ ν©λλ€.(μλ₯Ό 6κ°μ κ·Έλ£ΉμΌλ‘ νμ₯νμ΅λλ€)