파이썬 if 조건 반환
조회수 738회
예를 들어 한 열(여기서는 'name'이라고 하겠습니다)에 a, b, c, d, e, f, g, h, i .... 등 매우 많은 문자열이 있는 csv 파일이 있습니다.
그 csv 파일을 read한 뒤 if 조건문을 주어서 print하는 것이 아닌 실제 그 조건으로 반환하고 싶습니다 가령 'name'열 중 a,b,c,d가 있을 경우에는 = 1로 반환 그렇지 않은 경우에는 0으로 반환한다고하면 그냥 print 되는 것이 아닌 실제로 read 된 csv 파일에 'name'열 에 있는 문자값들이 모두 0또는 1로 바뀌는 코드를 작성하고 싶습니다. 기초가 없다보니 힘드네요.. 도움주시면 감사하겠습니다.
-
(•́ ✖ •̀)
알 수 없는 사용자 - 〉
1 답변
-
요구사항이 되게 이상한데, 이게 원하는 게 맞는지 잘 모르겠네요.
>>> import pandas as pd >>> df = pd.DataFrame({'name':list('abcdefghi')}) >>> df name 0 a 1 b 2 c 3 d 4 e 5 f 6 g 7 h 8 i >>> df.to_csv('temp.csv', index=False) >>> df1 = pd.read_csv('temp.csv') >>> df1 name 0 a 1 b 2 c 3 d 4 e 5 f 6 g 7 h 8 i >>> # 'name' 중 'a', 'b', 'c', 'd' 가 있다? >>> if set(df1['name']) & set(('a', 'b', 'c', 'd')) == set(('a', 'b', 'c', 'd')): df1['name'] = 1 else: df1['name'] = 0 >>> df1 name 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 >>> df1.to_csv('temp.csv', index=False) >>> df2 = pd.read_csv('temp.csv') >>> df2 name 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 >>>
댓글 입력