我需要迭代pandas数据帧的行。由于“native pandas”迭代相当慢,因为为每一行创建一个Series对象,所以我决定迭代底层的ndarray行。在
用于说明过程的伪代码:
import pandas as pd
import numpy as np
store = pd.HDFStore('example.h5')
df = pandas.store[name]
df = df[10:20]
result = np.apply_along_axis(mapped_function, axis=1, arr=df[['colA', 'colC', 'colG']].values)
问题是有些不可预测,我偶尔会遇到如下错误:
^{pr2}$在我的例子中,这个错误发生在映射行13之后或映射行14之前。在任何情况下,mapped_function
都不会以第14行作为参数执行,但之前失败了。在
但是,如果我在上面的代码中将df = df[10:20]
改为df = df[13:20]
,那么同样的数据也会出现问题行!在
另外,如果我完全避免apply_along_axis
并执行python迭代,那么一切都会正常工作:
result = []
for row in df = df[10:20]:
result += [mapped_function(row)]
这样看来,mapped_function
并不是错的,但是{
以前有人遇到过这个问题吗?在
目前没有回答
相关问题 更多 >
编程相关推荐