我有一个我正在迭代的df,就像这样
(slope, intercept, r) = stats.probplot(My_datum[:,i], dist='norm', fit=True, plot=plt)
R_squared = r**2
函数进程接受参数,它本身对它执行iterrows()。它这样做是因为它通常传递一个数据帧。但是,我想将一行传递给进程,并且仍然可以正常运行。问题是行是一个系列,而不是一个数据帧。并且系列不能使用.iterrows()方法迭代。我尝试将行转换为像这样的数据框
for _, row in df.iterrows():
process(row)
但似乎没有保留索引,列等。
有没有办法轻松完成这项工作?或者我应该重新编写进程函数以便能够处理单个Series /行吗?
答案 0 :(得分:1)
您可以转置to_frame
的输出:
s.to_frame().T
那就是说,这似乎是一个奇怪的要求,process
的重构可能是一个好主意。但是,也许你可以通过缩小数据帧来实现这一目标:
for chunk in np.array_split(df, 50): # 50 chunks
process(chunk)