Pandas DataFrame의 특정 셀에 대한 값 설정
DataFrame을 생성했으며 특정 셀의 값을 변경하려고 합니다. . 그러나 df.xs('C')['x'] = 10을 사용하면 예상대로 DataFrame이 업데이트되지 않습니다. 왜?
문제는 df.xs() 작동 방식에서 비롯됩니다. 기본적으로 데이터 복사본과 함께 새 DataFrame을 반환합니다. 따라서 df.xs('C')['x'] = 10은 원본이 아닌 새 DataFrame만 수정합니다.
대신 df['x']['C'] =를 사용할 수 있습니다. 10. 이 메서드는 원본 DataFrame의 뷰를 반환하며 모든 수정 사항은 df에 적용됩니다.
그러나 권장되는 접근 방식은 .at 또는 .iat:
df.xs('C')['x'] = 10이 더 이상 사용되지 않는 이유는 무엇입니까?
df.set_value('C' , 'x', 10)은 훨씬 더 빠르기 때문에 선호되는 방법입니다. 그러나 df.set_value()는 더 이상 사용되지 않을 예정입니다.
성능 비교
벤치마크에 따르면 df.set_value()는 속도 측면에서 다른 옵션보다 성능이 뛰어납니다.
In [18]: %timeit df.set_value('C', 'x', 10) 100000 loops, best of 3: 2.9 µs per loop In [20]: %timeit df['x']['C'] = 10 100000 loops, best of 3: 6.31 µs per loop In [81]: %timeit df.at['C', 'x'] = 10 100000 loops, best of 3: 9.2 µs per loop
위 내용은 Pandas DataFrame에서 특정 셀 값을 효율적으로 설정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!