我在dataframe
,d1 d2 d3
和d4
中有4列。所有列都具有字符串值,例如:
[Dataframe][1]
数据帧的长度为500,000
。
我需要一个输出,该输出应逐行读取模式。我正在使用以下代码:
i=0
def mode_cal(df):
global i
print(i)
i=i+1
return df.mode()
df1['blah']=df1[['d1', 'd2', 'd3', 'd4']].apply(mode_cal,axis=1)
如果我在小块上运行,则此代码可以正常工作。但是,当我在完整的数据集上运行它时,会出现错误,提示:
ValueError:传递的项目数错误4,展示位置表示1
实际上,我要面对的是:如果我在500,000磅dataframe
上运行,它会运行到350,000
(比如说),然后卡住并给出上述错误。而且,如果我丢弃最后的150,000
行以再次运行它(在350,000
上),它将失败并卡在某个位置之间,让我们说@ 250,000
obs并如上所述再次抛出错误。请帮助解决问题。