我試圖洗掉值并繪制計數圖,但值仍然存在。我究竟做錯了什么?
df = df.drop(df[(df['market_segment'] == 'Undefined') & (df['market_segment'] == 'Aviation')].index)
plt.figure(figsize=(12,8))
sns.countplot(x='market_segment',data=df,hue='hotel')
plt.show()

uj5u.com熱心網友回復:
這可能有兩個原因。
您過濾的第一行不正確
您的“market_segment”列可能是分類資料型別。在分類 dtype 系列中,資料中未觀察到的值可以傳播到 中
seaborn,因此轉換為物件或字串 dtype 可以解決此問題。
df = (
df.loc[~df["market_segment"].isin(["Undefined", "Aviation"])]
.astype({"market_segment": str})
)
plt.figure(figsize=(12,8))
sns.countplot(x='market_segment',data=df,hue='hotel')
plt.show()
uj5u.com熱心網友回復:
問題是您要洗掉market_segment既是Undefined 又 是 的行Aviation。這顯然是無稽之談。
將您的 AND ( &)更改為 OR ( |):
df = df.drop(df[(df['market_segment'] == 'Undefined') | (df['market_segment'] == 'Aviation')].index)
# ^ changed from & to |
這樣一來,所有的行會被丟棄在那里market_segment或者是Undefined或Aviation。如果是其中之一,它將被洗掉。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/357489.html
標籤:熊猫 matplotlib 海生
上一篇:計數累計真值
