728x90
반응형
증상
df2 = df[['A']]
df2['A'] /= 2
df2
A
0 2.5
1 4.5
2 3.5
해결 방법
1. (recommended) Use loc to lice subsets
df2 = df.loc[:, ['A']]
df2['A'] /= 2 # Does not raise
2. pd.options.mode.chained_assignment 모드 변경
pd.options.mode.chained_assignment = None
df2['A'] /= 2
3. Make a deepcopy
df2 = df[['A']].copy(deep=True)
df2['A'] /= 2
References
728x90
반응형
'Programming > Python' 카테고리의 다른 글
[Python] 압축 파일(zip) 다루기 (ft. 압축 풀지 않고 데이터 읽기) (0) | 2021.06.14 |
---|---|
[Python] pandas 파일 로딩 속도 비교 (CSV vs. Pickle 포맷) (0) | 2021.06.02 |
[Python] Pandas sorting (오름/내림 정렬) 하기 (0) | 2021.05.01 |
[Python] bound / unbound method란? (feat. static method) (1) | 2021.04.29 |
[Python] How to flatten a matrix (행렬을 1차원 배열로 전환하기) (0) | 2020.11.09 |
댓글