我有一個包含完整 x 和 y 列的資料集,但某些 z 列沒有任何資料(如下所示)
x y z
246.590724 -24.380943 --
246.593273 -24.381374 --
246.7051392 -24.33428028 --
246.823241 -24.087254 7.2435
245.5418243 -21.65491486 7.1933
246.39548 -23.40651445 7.2318
246.605133 -24.390006 --
246.67683 -24.440527 --
247.3474986 -24.2324699 --
246.80526 -24.692698 --
244.7469482 -23.66201019 7.2379
如何洗掉帶有空 z 元素的行,以便只留下完整的 x、y、z 資料?
uj5u.com熱心網友回復:
你可以試試這個。
import pandas as pd
df = pd.DataFrame([[246.590724 , -24.380943 , '--'],[500.590724 , -24.380943 , 7.2318]],columns=['x','y','z'])
print(df[df["z"] != '--'])
輸出:(注:示例代碼只有 2 行)
x y z
1 500.590724 -24.380943 7.2318
uj5u.com熱心網友回復:
你的情況有幾種可能。首先,如果--表示 None 值而不是字面意思--。在這種情況下,您可以簡單地使用:
import pandas as pd
df = pd.read_csv("data.csv")
df[~df["z"].isna()]
第二種可能性是這些--值是字面上的--。因此,在這種情況下,您可以簡單地使用:
import pandas as pd
df = pd.read_csv("data.csv")
df[df["z"] != "--"]
無論哪種情況,結果都是一樣的:
| X | 是的 | z | |
|---|---|---|---|
| 3 | 246.823 | -24.0873 | 7.2435 |
| 4 | 245.542 | -21.6549 | 7.1933 |
| 5 | 246.395 | -23.4065 | 7.2318 |
| 10 | 244.747 | -23.662 | 7.2379 |
uj5u.com熱心網友回復:
你可以使用 Pandas 的 dropna:
df.dropna(subset=['z'], axis=0, inplace=True)
如果檔案中的 null/NaN 值不是真正的 NaN,那么在使用 dropna 之前,您可以像這樣加載資料(假設“--”對應于偽 NaN,并且分隔符是空格):
df = pd.read_csv("data.csv", sep='\s ', na_values="--")
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/433825.html
標籤:Python python-3.x 熊猫 麻木的
