首页 > 解决方案 > Python Dataframe:我如何执行等效的 vlookup

问题描述

这是df(它是更大的df的子集)

df = pd.DataFrame({
                   'Date': ['04/03/2020', '06/04/2020','08/06/2020','12/12/2020'],
                    'Tval' : [0.01,0.015,-0.023,-0.0005]
})

如果我需要 Tval 来表示“2020 年 6 月 4 日”(我只需要一个日期)。我怎么得到它?我知道合并和连接可用于在 python 中复制 vlookup 函数,但如果它是您要查找的单个值怎么办?执行任务的最佳方式是什么?

标签: pythonpandasjoinmergevlookup

解决方案


Pandas 文档建议对大多数查找使用locor :iloc

df = pd.DataFrame({
                   'Date': ['04/03/2020', '06/04/2020','08/06/2020','12/12/2020'],
                    'Tval' : [0.01,0.015,-0.023,-0.0005]
})

df.loc[df.Date == '06/04/2020', 'Tval']

这里括号中表达式的第一部分df.Date == '06/04/2020'选择您想要查看的行的索引,第二部分指定您想要显示的列。

相反,如果您想查看整行的数据,则可以将其重写为df.loc[df.Date == '06/04/2020', : ].


推荐阅读