循环遍历两个pandas数据帧

时间:2016-09-07 17:22:32

标签: loops pandas

我有两个数据框df1df2,如下所示:

df1:

Month    Count
6        314
6        418
6        123
7        432

df2:

Month  ExpectedValue
6       324
7       512
8       333

我必须遍历df1df2。如果df1['Month'] == 6,那么我必须遍历df2以获得第6个月的预期值。然后,我将df1中的字段设为df1['ExpectedValue']

如下输出:

df1:

Month   Count    ExpectedValue
6        314        324 
6        418        324
6        123        324
7        432        512

循环浏览2个数据帧是一个有效的想法吗?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:6)

通常,除非绝对必要,否则不应遍历DataFrame。使用已经优化的内置Pandas函数或使用矢量化方法,通常可以获得更好的性能。这通常会导致代码更清晰。

在这种情况下,您可以使用DataFrame.merge

df1 = df1.merge(df2, how='left', on='Month')

结果输出:

   Month  Count  ExpectedValue
0      6    314            324
1      6    418            324
2      6    123            324
3      7    432            512
相关问题