繁体   English   中英

如何在熊猫的where条件下获取特定列的值?

[英]How to fetch value of particular column with where condition in pandas?

我下面有数据帧,仅在A = 12.0时才需要获取D的值。

          A     B   C     D
Row_1  12.0   7.0  20  14.0
Row_2   4.0   2.0  16   3.0
Row_3   5.0  54.0  11   NaN
Row_4   NaN   3.0   3   2.0
Row_5   1.0   NaN   8   6.0

我已经试过了,但是报错了:

result = df.loc['A'==12.0, 'D']
print(result)

我将如何实现?

尝试这个:

import pandas as pd
import numpy as np
df = pd.DataFrame({'A':[12.0, 4.0, 5.0, np.nan, 1.0], 'B':[7.0, 2.0, 54.0, 3.0, np.nan], 'C':[20, 16, 11, 3, 8], 'D':[14.0, 3.0, np.nan, 2.0, 6.0]})
print(df.loc[df.A==12.0]['D'])
print(df.loc[df.A==12.0]['D'][0])

输出:

0    14.0
Name: D, dtype: float64

14.0

因为您正在寻找'A'== 12.0,所以会出现错误,因此您基本上是在寻找False,即不在数据框中。 你需要

result = df.loc[df['A']==12.0, 'D'][0]

最后的[0]是df.loc返回的系列的第一个元素

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM