跨多个列写入数据帧的更快捷方式?

时间:2016-02-13 17:34:28

标签: python pandas

我有两个数据帧,其中df中的数据被重写为不同行中的dh(x和p之间的关系是任意的)。两个帧中的每一行都具有与变量A B C D E F水平排列的相同浮动数据类型。我最初使用:

list_of_strings=text_field_value.split(" ")

我发现这是对6个离散位置的6次离散访问,如果我可以同时写入所有6个位置,则可能会更快。有没有办法在一个执行速度更快的语句中执行此操作?

dh.iloc[p,A] = df.iloc[x,A]
dh.iloc[p,B] = df.iloc[x,B]
dh.iloc[p,C] = df.iloc[x,C]
dh.iloc[p,D] = df.iloc[x,D]
dh.iloc[p,E] = df.iloc[x,E]
dh.iloc[p,F] = df.iloc[x,F]

1 个答案:

答案 0 :(得分:2)

  1. 在你编写程序之前不要再担心,它太慢了,而且你已经对它进行了描述并计时它是什么使它成为现实慢。

  2. 看起来你可以dh.iloc[p, [A, B, C, D, E, F]] = df.iloc[x, [A, B, C, D, E, F]]

  3. 您提到px 一行。在熊猫中对某一行做某事有点不寻常,对于许多行做某事更为常见。这是在p,x对的某些循环中吗?如果是这样,可能有更好的方式来编写它。