簡體   English   中英

如何根據值范圍刪除熊貓中的行

[英]How to delete rows in pandas based on range of values

我剛來這地方。 這是我的問題:我試圖在給定值范圍的情況下刪除數據框中的行。 代碼:

outlier_age = df3[ (df3['Age']<= 17.) & (df3['Age'] >= 75.) ].index

df4 = df3.drop(outlier_age , inplace=True)

我收到此錯誤:

/usr/local/lib/python3.6/dist-packages/pandas/core/frame.py:4169: SettingWithCopyWarning: 試圖在 DataFrame 的切片副本上設置一個值 請參閱文檔中的注意事項: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy錯誤=錯誤,

我覺得它與數據類型有關? 我嘗試了==運算符只是為了嘗試至少刪除具有給定值的行,但它沒有用。

我在不同的列上嘗試了相同的方法,使用字符串,我能夠刪除具有指定字符串的行。

你可以試試這個。

df4 = df3.drop(df3.index[(df3['Age']<= 17.) & (df3['Age'] >= 75.)])

您在這里有一個非此即彼的問題。 任何一個

df3.drop(outlier_age , inplace=True)

編輯基礎數據框,或

df4 = df3.drop(outlier_age)

它返回一個減少的數據幀。 你也可以用單線來做:

df4 = df3[ (df3['Age']>= 17.) & (df3['Age'] <= 75.) ]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM