考虑Python Pandas中的以下数据帧:
可乐 | 科尔巴 | 科尔 |
---|---|---|
1个 | 狗 | 439 |
1个 | 猫 | 932 |
1个 | 青蛙 | 932 |
2 | 狗 | 2122 |
2 | 猫 | 454 |
2 | 青蛙 | 773 |
3 | 狗 | 9223 |
3 | 猫 | 3012 |
3 | 青蛙 | 898 |
冷 | 油菜 |
---|---|
1个 | 101 |
2 | 314 |
3 | 124 |
注意,ColB只是在ColA向上迭代时重复其字符串值。ColC和ColE是随机的。ColA和ColD对应。ColD值将永远不会重复(如地图)。
我想在ColA == ColD处将ColC除以ColE,然后理想地将结果值放在DataframeA的新列中(或只是将其覆盖ColC)。结果值应该可以有小数。
如何在Python Pandas中做到这一点?
您可以使用 .map
如果您有多个要加入的键,则merge
如@anky所示会更有用
df1['ColF'] = df1['ColC'] / df1['ColA'].map(df2.set_index(['ColD'])['ColE'])
ColA ColB ColC ColF
0 1 dog 439 4.346535
1 1 cat 932 9.227723
2 1 frog 932 9.227723
3 2 dog 2122 6.757962
4 2 cat 454 1.445860
5 2 frog 773 2.461783
6 3 dog 9223 74.379032
7 3 cat 3012 24.290323
8 3 frog 898 7.241935
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句