Không sử dụng groupbylàm thế nào tôi có thể lọc ra dữ liệu mà không có NaN?
Giả sử tôi có một ma trận nơi khách hàng sẽ điền vào 'N / A', 'n / a' hoặc bất kỳ biến thể nào của nó và các biến thể khác để trống:
import pandas as pd
import numpy as np
df = pd.DataFrame({'movie': ['thg', 'thg', 'mol', 'mol', 'lob', 'lob'],
'rating': [3., 4., 5., np.nan, np.nan, np.nan],
'name': ['John', np.nan, 'N/A', 'Graham', np.nan, np.nan]})
nbs = df['name'].str.extract('^(N/A|NA|na|n/a)')
nms=df[(df['name'] != nbs) ]
đầu ra:
>>> nms
movie name rating
0 thg John 3
1 thg NaN 4
3 mol Graham NaN
4 lob NaN NaN
5 lob NaN NaN
Làm cách nào để lọc các giá trị NaN để tôi có thể có kết quả hoạt động như thế này:
movie name rating
0 thg John 3
3 mol Graham NaN
Tôi đoán tôi cần một cái gì đó giống như ~np.isnannhưng tilda không hoạt động với chuỗi.