我有一个希望应用于数据帧的函数:
def DetermineMid(data, ts):
if data['U'] == 0 and data['D'] > 0:
mid = data['C'] + ts / 2
elif data['U'] > 0 and data['D'] == 0:
mid = data['C'] - ts / 2
else:
diff = data['A'] - data['B']
if diff == 0:
mid = data['C'] + 1
else:
mid = data['C']
return mid
我的df列是A、B、C、D、U。
我的电话如下:
df = df.apply(DetermineMid, args=(5, ), axis=1).
在较小的数据帧上,这可以正常工作,但对于此数据帧:
DatetimeIndex:2561527个条目,
2016-11-30 17:00:01至2017-11-29 16:00:00数据列(共6列
列):
Z浮动64
A浮动64
B浮动64
C浮动64
U int64
D int64
数据类型:float64(5)、int64(2)
内存使用:156.3 MB
没有一个
我收到了一份备忘录。我是否错误地使用了apply?我认为apply只是在行中迭代,并基于行值创建一个值mid,然后删除所有旧值,因为我不再关心它们了。
有没有更好的方法?