11
파이썬 용 팬더는 멋집니다. 사전 목록을 판다 데이터 프레임으로 대체하려고합니다. 그러나 for-loop에서 행별로 값을 쉽게 변경하는 방법이 있는지 궁금합니다.팬더 편집 데이터 프레임 행 단위
다음은 비 팬더 딕셔너리 버전입니다 :
trialList = [
{'no':1, 'condition':2, 'response':''},
{'no':2, 'condition':1, 'response':''},
{'no':3, 'condition':1, 'response':''}
] # ... and so on
for trial in trialList:
# Do something and collect response
trial['response'] = 'the answer!'
... 그리고 trial
다시 것과 참조하기 때문에 지금 trialList
업데이트 된 값이 포함되어 있습니다. 매우 편리! 그러나 목록의 - dicts는 매우 불확실합니다. 특히 판다가 탁월한 열 단위로 계산할 수 있기를 바랍니다.
import pandas as pd
dfTrials = pd.DataFrame(trialList) # makes a nice 3-column dataframe with 3 rows
for trial in dfTrials.iterrows():
# do something and collect response
trials[1]['response'] = 'the answer!'
을 ...하지만 trialList
여기 그대로 유지 :
감사합니다. 가장 필요한 것은 내가 필요한 것입니다. 내가 원했던 것처럼 아름답고/단순하지는 않지만 작동합니다. –
@ 요나 요점은 벡터화 된 솔루션이 항상 가장 빠를 것입니다. 행 단위로 반복하는 것은 ** 느린 **입니다 (일반적으로 피할 수 있습니다). –
필자의 경우 데이터가 수집되기 전에 실험이 진행되고 분석이 "온라인"으로 수행되어야하므로 시험 데이터가 시험 버전으로 업데이트됩니다. 따라서 한 번에 모든 행에 대한 작업을 수행 할 수 없습니다. –