반응형
파이썬 팬더 문자열 열의 데이터 선택에서 난 필터링
사용하지 않고 groupby
어떻게 데이터를 필터링하지 NaN
않습니까?
고객이 'N / A', 'n / a'또는 그 변형을 채우고 다른 사람들은 비워 두는 매트릭스가 있다고 가정 해 보겠습니다.
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) ]
산출:
>>> nms
movie name rating
0 thg John 3
1 thg NaN 4
3 mol Graham NaN
4 lob NaN NaN
5 lob NaN NaN
NaN 값을 어떻게 필터링하여 다음과 같이 결과를 얻을 수 있습니까?
movie name rating
0 thg John 3
3 mol Graham NaN
나는 비슷한 ~np.isnan
것이 필요하다고 생각 하지만 tilda는 문자열로 작동하지 않습니다.
그냥 버리세요 :
nms.dropna(thresh=2)
이것은 적어도 두 개가 아닌 모든 행을 삭제합니다 NaN
.
그런 다음 name은 다음 위치에 놓을 수 있습니다 NaN
.
In [87]:
nms
Out[87]:
movie name rating
0 thg John 3
1 thg NaN 4
3 mol Graham NaN
4 lob NaN NaN
5 lob NaN NaN
[5 rows x 3 columns]
In [89]:
nms = nms.dropna(thresh=2)
In [90]:
nms[nms.name.notnull()]
Out[90]:
movie name rating
0 thg John 3
3 mol Graham NaN
[2 rows x 3 columns]
편집하다
실제로 원래 원하는 것을보고 dropna
전화 하지 않고이 작업을 수행 할 수 있습니다 .
nms[nms.name.notnull()]
최신 정보
Looking at this question 3 years later, there is a mistake, firstly thresh
arg looks for at least n
non-NaN
values so in fact the output should be:
In [4]:
nms.dropna(thresh=2)
Out[4]:
movie name rating
0 thg John 3.0
1 thg NaN 4.0
3 mol Graham NaN
It's possible that I was either mistaken 3 years ago or that the version of pandas I was running had a bug, both scenarios are entirely possible.
Simplest of all solutions:
filtered_df = df[df['name'].notnull()]
Thus, it filters out only rows that doesn't have NaN values in 'name' column.
df = pd.DataFrame({'movie': ['thg', 'thg', 'mol', 'mol', 'lob', 'lob'],'rating': [3., 4., 5., np.nan, np.nan, np.nan],'name': ['John','James', np.nan, np.nan, np.nan,np.nan]})
for col in df.columns:
df = df[~pd.isnull(df[col])]
df.dropna(subset=['columnName1', 'columnName2'])
반응형
'IT박스' 카테고리의 다른 글
Rails 3 속성이 변경되었는지 확인 (0) | 2020.06.13 |
---|---|
Twitter Bootstrap 툴팁의 너비와 높이를 어떻게 변경합니까? (0) | 2020.06.13 |
권한 거부 : startForeground에는 android.permission.FOREGROUND_SERVICE가 필요합니다. (0) | 2020.06.13 |
모바일 사파리 (iPhone)에서 텍스트 영역 내부 그림자 제거 (0) | 2020.06.13 |
PHP에서 mod_rewrite가 활성화되어 있는지 확인하는 방법은 무엇입니까? (0) | 2020.06.13 |