[英]Error while dropping row from dataframe based on value comparison
我在dataframe列中具有以下唯一值。
['1473' '1093' '1346' '1324' 'NA' '1129' '58' '847' '54' '831' '816']
我想刪除在此列中具有'NA'
的行。
testData = testData[testData.BsmtUnfSF != "NA"]
並出現錯誤
TypeError: invalid type comparison
然后我嘗試
testData = testData[testData.BsmtUnfSF != np.NAN]
它不會產生任何錯誤,但不會刪除行。
如何解決這個問題?
這是您的操作方法。 只需使用所需的列名更改column
。
import pandas as pd
import numpy as np
df = pd.DataFrame({"column": [1,2,3,np.nan,6]})
df = df[np.isfinite(df['column'])]
您可以使用dropna
testData = testData.dropna(subsets = 'BsmtUnfSF']
假設您的dataFrame:
>>> df
col1
0 1473
1 1093
2 1346
3 1324
4 NaN
5 1129
6 58
7 847
8 54
9 831
10 816
>>> df[pd.notnull(df['col1'])]
col1
0 1473
1 1093
2 1346
3 1324
5 1129
6 58
7 847
8 54
9 831
10 816
>>> df[df.col1.notnull()]
# df[df['col1'].notnull()]
col1
0 1473
1 1093
2 1346
3 1324
5 1129
6 58
7 847
8 54
9 831
10 816
>>> df.dropna(subset=['col1'])
col1
0 1473
1 1093
2 1346
3 1324
5 1129
6 58
7 847
8 54
9 831
10 816
>>> df.dropna()
col1
0 1473
1 1093
2 1346
3 1324
5 1129
6 58
7 847
8 54
9 831
10 816
>>> df[~df.col1.isnull()]
col1
0 1473
1 1093
2 1346
3 1324
5 1129
6 58
7 847
8 54
9 831
10 816
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.