replace를 사용해서 제가원하는 문자열이 아니면 모두 nan값으로 치환하는 방법을 알고싶습니다
조회수 685회
s3 = Series(['서울','.','대전',',','대구','!','부산'])
s3.replace(''서울','대전','대구','부산'',np.nan)
서울 , 대전, 대구, 부산을 nan값으로 변경하는법은 알겠는데, 서울 대전 대구 부산을 제외한 모든것은 전부 nan값으로 변경하는법을 잘모르겠습니다.
1 답변
-
>>> import pandas as pd >>> s = pd.Series("서울 대전 대구 ! 부산".split()) >>> s 0 서울 1 대전 2 대구 3 ! 4 부산 dtype: object >>> s[s.isin("서울 대전 대구 부산".split())] 0 서울 1 대전 2 대구 4 부산 dtype: object >>> s[!s.isin("서울 대전 대구 부산".split())] SyntaxError: invalid syntax >>> s[not s.isin("서울 대전 대구 부산".split())] Traceback (most recent call last): File "<pyshell#6>", line 1, in <module> s[not s.isin("서울 대전 대구 부산".split())] File "C:\PROGRAMS\Python3864\lib\site-packages\pandas\core\generic.py", line 1537, in __nonzero__ raise ValueError( ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all(). >>> s[~s.isin("서울 대전 대구 부산".split())] 3 ! dtype: object >>> import numpy as np >>> s[~s.isin("서울 대전 대구 부산".split())] = np.nan >>> s 0 서울 1 대전 2 대구 3 NaN 4 부산 dtype: object >>>
댓글 입력