11
python的pandas是整齐的。我试图用熊猫数据框来替换字典列表。但是,我想知道有一种方法可以在for循环中逐行更改值,就像一样简单?逐行编辑熊猫数据帧
这里的非大熊猫字典版本:
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!'
...现在trialList
包含更新的值,因为trial
指回到那个。非常便利!但是,列表的列表非常不方便,特别是因为我希望能够计算大熊猫擅长的列方式的东西。
所以从上面给出trialList,不过,我觉得我可以使它甚至做一些熊猫样更好:
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
保持不变在这里。有没有一种简单的方法来逐行更新值,也许等同于字典版本?重要的是,它是逐行的,因为这是一个实验,参与者接受大量试验并在每次试验中收集各种数据。
谢谢!最重要的是我需要的。不如我想要的那么美观/简单,但它有效。 –
@Jonas问题在于矢量化解决方案永远是最快的。逐行迭代是**慢**(通常可以避免)。 –
在我的情况下,数据是通过试验更新试验的,因为受试者需要在收集所有数据之前进行“在线”实验和分析。因此,不可能一次对所有行进行操作。 –