2
我有一個數據框與幾個類別,我想用groupby
分別繪製每個類別。但是,第一類(或第一個圖)始終繪製兩次。熊貓groupby情節給出了第一個情節兩次
例如:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
n = 100000
x = np.random.standard_normal(n)
y1 = 2.0 + 3.0 * x + 4.0 * np.random.standard_normal(n)
y2 = 1.0 + 5.0 * x + 2.0 * np.random.standard_normal(n)
df1 = pd.DataFrame({"A": x,
"B": y1})
df2 = pd.DataFrame({"A": x,
"B": y2})
df1["Cat"] = "Cat1"
df2["Cat"] = "Cat2"
df = df1.append(df2, ignore_index=True)
df.groupby("Cat").plot.hexbin(x="A", y="B",cmap = "jet")
plt.show()
這會給我的三幅地塊,其中CAT1繪製兩次。
我只想要兩塊地塊。我究竟做錯了什麼?
這可能與'apply'兩次執行有關:http://stackoverflow.com/questions/21390035/python-pandas-groupby-object-apply-method-duplicates-first-group,解決這個問題我' d得到個人小組並且遍歷小組並且繪製他們 – EdChum
好吧,非常感謝!我將避免迭代組,但如果這是正常行爲,那麼就沒關係 – petetheat