본문 바로가기

Access3

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 defaultdict의 defaultdict?, defaultdict of defaultdict? 질문 다음 코드가 작동하도록 defaultdict(defaultdict(int))를 가지는 방법이 있을까요? for x in stuff: d[x.a][x.b] += x.c_int x.a와 x.b 요소에 따라 d를 ad-hoc로 구축해야 합니다. 다음과 같이 사용할 수 있습니다: for x in stuff: d[x.a,x.b] += x.c_int 하지만 그러면 다음을 사용할 수 없게 됩니다: d.keys() d[x.a].keys() 답변 예, 이렇게: defaultdict(lambda: defaultdict(int)) defaultdict의 인자(lambda: defaultdict(int))는 존재하지 않는 키에 액세스하려고 할 때 호출됩니다. 그 결과값은 이 키의 새로운 값으로 설정됩니다. 즉, 우리의 .. 2023. 11. 3.
Python 파이썬에서 사전(dictionary)의 임의의 요소에 액세스하기, Access an arbitrary element in a dictionary in Python 질문 만약 mydict가 비어 있지 않다면, 임의의 요소에 접근하는 방법은 다음과 같습니다: mydict[mydict.keys()[0]] 이를 더 좋은 방법으로 처리할 수 있는 방법이 있을까요? 답변 파이썬 3에서는 비파괴적으로 반복적으로: next(iter(mydict.values())) 파이썬 2에서는 비파괴적으로 반복적으로: mydict.itervalues().next() 파이썬 2와 3 모두에서 작동하도록 하려면 six 패키지를 사용할 수 있습니다: six.next(six.itervalues(mydict)) 하지만 이 시점에서는 암호화되어 있으며, 대신 여러분의 코드를 선호합니다. 항목을 제거하려면 다음을 사용하십시오: key, value = mydict.popitem() 여기서 "첫 번째"라는 .. 2023. 9. 14.