提问者:小点点

根据其他值从Pandas Dataframe返回单元格


我在Pandas Dataframe中有以下数据集:

我正在尝试根据去年(2021年)的第一个月(第1个月)从Total列动态返回值。解决方案是1875.10。

我正在使用PyCharm中的Python来完成此操作。

注:“Id”列是使用熊猫数据帧时自动生成的列。我相信它在熊猫中被称为索引。

任何帮助都将不胜感激。谢谢你。


共3个答案

匿名用户

您可以使用. loc[]

df.loc[(df['Year'] == 2021) & (df['Month'] == 1), 'Total']

这将给你:

0    1875.1
Name: Total, dtype: float64

要获取实际数字,您可以在末尾添加. iloc[]

df.loc[(df['Year'] == 2021) & (df['Month'] == 1), 'Total'].iloc[0]

输出:

1875.1

匿名用户

另一种方法是这样做。

df[df['Year']==2021].iloc[0]['Total']

这部分df[df['年']==2021]创建了一个新的数据框,其中我们只有2021年的值,. iloc获取“总计”列中位置0的值

匿名用户

简单的过滤器就足够了吗?

df[(df.Year == 2021) & (df.Month == 1)].Total