【发布时间】:2020-07-13 01:57:01
【问题描述】:
我对 Pandas 和 Python 还很陌生,我根本不知道如何做一些在 Excel 中很容易完成的事情。我希望能从社区中得到一点帮助。
假设我有以下内容,这是一个与梦幻足球相关的 df,它具有三列 - “名称”、“年份”和“FantasyPts”。代码如下。
import pandas as pd
df = pd.DataFrame({'Name': ['Tom Brady', 'Tom Brady', 'Tom Brady', 'Patrick Mahomes', 'Patrick Mahomes', 'Patrick Mahomes'],
'Year': [2019, 2018, 2017, 2019, 2018, 2017],
'FantasyPts': [300, 350, 400, 500, 400, 50],
})
我想在名为“FantasyPtsPreviousYear”的表中添加另一列,但在 Pandas / Python 中如何做到这一点非常困难。
我想做的是:
- 对于表中的每一行,让 python/pandas 检查 df 的该行中的名称和年份。
- 查看同一玩家在上一年(即第 1 年)获得的幻想积分
- 将该数字填充到名为“FantasyPtsPreviousYear”的 df 新行中,或者,如果没有该玩家上一年的数据,则输入 0。
在 Excel 中,我只需创建新列并将这些列与 VLOOKUP 一起使用。我在 Pandas 中找到的与 VLOOKUP 最接近的东西是合并,但这似乎在这里不起作用(或者至少我不知道如何使它与这个特定的应用程序一起工作)。在尝试找到答案后,我认为它可能与 loc() 函数和 For 循环有关,但我无法让它工作。
感谢您提供的任何帮助!我非常感谢它,并认为这个社区提供的所有帮助都很棒!
【问题讨论】:
标签: python pandas dataframe vlookup