作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有两个数据帧 df1
和 df2
如下所示:
df1:
Month Count
6 314
6 418
6 123
7 432
df2:
Month ExpectedValue
6 324
7 512
8 333
我必须遍历 df1
和 df2
。如果 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 个数据帧是一个有效的想法吗?任何帮助将不胜感激。
最佳答案
一般来说,除非绝对必要,否则你不应该遍历 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
关于loops - 循环遍历两个 Pandas 数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39375908/
我是一名优秀的程序员,十分优秀!