将一行pandas数据帧转换为数据帧本身(而不是一系列)?

时间:2017-10-17 18:33:00

标签: python pandas

我有一个我正在迭代的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 /行吗?

1 个答案:

答案 0 :(得分:1)

您可以转置to_frame的输出:

s.to_frame().T

那就是说,这似乎是一个奇怪的要求,process的重构可能是一个好主意。但是,也许你可以通过缩小数据帧来实现这一目标:

for chunk in np.array_split(df, 50):  # 50 chunks
    process(chunk)