Pandas:考虑到数据帧中前一行的行操作
我有一个大的数据框(100列x 200000行)。我想逐行查看数据帧,并根据第N-1行内容更新第N行内容。目前我是这样进行的(条件实际上有点复杂,我在不同的列组上每行应用相同的逻辑大约10次): df.index中的索引的Pandas:考虑到数据帧中前一行的行操作,pandas,performance,dataframe,Pandas,Performance,Dataframe,我有一个大的数据框(100列x 200000行)。我想逐行查看数据帧,并根据第N-1行内容更新第N行内容。目前我是这样进行的(条件实际上有点复杂,我在不同的列组上每行应用相同的逻辑大约10次): df.index中的索引的: 如果df['A'][index]
:
如果df['A'][index]
我想知道是否有一种方法可以更快地做到这一点。我是否应该使用数据帧以外的其他对象,例如numpy对象?
我想有更好的方法可以做到这一点,因为像“滚动”这样的函数执行相同的逻辑,并且在整个数据帧中运行不到1秒
谢谢你们的帮助,伙计们 您可以在pandas中查看
.shift()
函数。这有助于您与这些尺寸的其他产品进行比较?例如,您是否考虑过Spark作为替代方案?在那里,您可以使用窗口功能lag
:
for index in df.index:
if df['A'][index] < df['B'][index] and df['C'][index-1] == 0:
df['D'][index] = df['A'][index]
df['E'][index] = df['F'][index-1]