2
하나의 열 (acount_no
)에 해당 값으로 빈 문자열, 공백 문자열 및 반복 숫자 문자열이 포함되어 있습니다. 이 값에 대해 새 열 (valid_account_no
)을 만들고 해당 행에 False
을 설정하고 싶습니다. 또한 account_no
길이가 <=
4이면 False
~ valid_account_no
으로 설정됩니다. 더 좋은 방법이 더 간결하고 효율적으로 만들기 위해 의미에서,이가 달성 할 수 있다면 나는 궁금pandas 정규식 일치를 사용하여 다른 열의 값을 기준으로 열의 부울 값을 설정했습니다.
id account_no valid_account_no
1 False
2 999999 False
3 1234 False
4 123456 True
이 내 코드,
# sets boolean values of column valid account no when account no is spaced or repeated number
df['valid_account_no'] = df['account_no'].str.match(r"\b(\d)\1+\b| +")
# if length of any account nos are <= 4 or the account nos are empty
# set values of column valid account no to False
invalid_account_indices = df[(df['account_no'].str.len() <= 4) |
(df['account_no'] == '')].index
df.loc[invalid_account_indices, 'valid_account_no'] = False
, 같은 df
보인다.
는 [ 'account_no'] df라고 내 OP ('사용해야에서 실수를했다. str.len() <= 함께 4) | '&'대신에 (df [ 'account_no'] == '')'' – daiyue