본문 바로가기

DataFrame22

Python Pandas 데이터프레임을 디스크에 반전 가능하게 저장하고 로드하는 방법은 무엇인가요?, How to reversibly store and load a Pandas dataframe to/from disk 질문 지금은 스크립트를 실행할 때마다 상당히 큰 CSV를 데이터프레임으로 가져오고 있습니다. 스크립트가 실행되는 동안 그 데이터프레임을 계속 사용할 수 있는 좋은 해결책이 있을까요? 그렇게 하면 스크립트가 실행되는 동안 시간을 기다리는 데에 모든 시간을 보내지 않아도 될 것 같습니다. 답변 가장 쉬운 방법은 pickle을 사용하여 to_pickle으로 저장하는 것입니다: df.to_pickle(file_name) # 저장할 위치, 일반적으로 .pkl 형식으로 저장합니다. 그런 다음 다음을 사용하여 다시 불러올 수 있습니다: df = pd.read_pickle(file_name) 참고: 0.11.1 이전에는 save와 load가 이 작업을 수행하는 유일한 방법이었습니다 (지금은 각각 to_pickle과 r.. 2023. 11. 24.
Python 파이썬 판다스에서 데이터프레임을 두 개 이상의 열로 정렬하는 방법은 무엇인가요?, How to sort a dataFrame in python pandas by two or more columns? 질문 데이터프레임에 a, b 및 c 열이 있다고 가정하고, 데이터프레임을 열 b를 오름차순으로, 열 c를 내림차순으로 정렬하고 싶습니다. 어떻게 해야 할까요? 답변 0.17.0 릴리스 이후로, sort 메소드는 sort_values로 대체되었습니다. sort는 0.20.0 릴리스에서 완전히 제거되었습니다. 인수(및 결과)는 동일합니다: df.sort_values(['a', 'b'], ascending=[True, False]) sort의 ascending 인수를 사용할 수 있습니다: df.sort(['a', 'b'], ascending=[True, False]) 예를 들어: In [11]: df1 = pd.DataFrame(np.random.randint(1, 5, (10,2)), columns=['a'.. 2023. 10. 29.
Python `ValueError: cannot reindex from a duplicate axis`의 의미는 무엇인가요?, What does `ValueError: cannot reindex from a duplicate axis` mean? 질문 나는 특정 값에 대한 인덱스를 설정하려고 할 때 ValueError: cannot reindex from a duplicate axis 오류가 발생합니다. 이 문제를 간단한 예제로 재현해 보려고 했지만 실패했습니다. 여기에는 ipdb 추적 내부의 세션 정보가 있습니다. 나는 문자열 인덱스와 정수 열, 부동 소수점 값으로 구성된 DataFrame을 가지고 있습니다. 그러나 모든 열의 합에 대한 sum 인덱스를 만들려고 할 때 ValueError: cannot reindex from a duplicate axis 오류가 발생합니다. 같은 특성을 가진 작은 DataFrame을 만들었지만 문제를 재현할 수 없었습니다. 무엇을 놓치고 있는 걸까요? ValueError: cannot reindex from a.. 2023. 10. 26.
Python 파이썬 판다스: 특정 값과 일치하는 열의 행 인덱스 가져오기, Python Pandas: Get index of rows where column matches certain value 질문 주어진 DataFrame에 "BoolCol"이라는 열이 있는 경우, "BoolCol" 값이 True인 DataFrame의 인덱스를 찾고 싶습니다. 현재는 작동하는 반복적인 방법을 사용하고 있습니다: for i in range(100,3000): if df.iloc[i]['BoolCol']== True: print i,df.iloc[i]['BoolCol'] 하지만 이는 올바른 판다스 방법이 아닙니다. 조사를 한 후, 현재 이 코드를 사용하고 있습니다: df[df['BoolCol'] == True].index.tolist() 이 코드는 인덱스의 리스트를 제공하지만, 확인해 보면 일치하지 않습니다: df.iloc[i]['BoolCol'] 결과는 실제로 False입니다!! 이를 올바르게 수행하는 판다스 방.. 2023. 10. 11.