python - 根据 Pandas 中的另一列提取列值

标签 python pandas dataframe

我有点卡在以另一个变量为条件提取一个变量的值。例如以下数据框:

A  B
p1 1
p1 2
p3 3
p2 4

B=3 时如何获取A 的值?每次我提取 A 的值时,我都会得到一个对象,而不是字符串。

最佳答案

您可以使用 loc获得满足您条件的系列,然后iloc获取第一个元素:

In [2]: df
Out[2]:
    A  B
0  p1  1
1  p1  2
2  p3  3
3  p2  4

In [3]: df.loc[df['B'] == 3, 'A']
Out[3]:
2    p3
Name: A, dtype: object

In [4]: df.loc[df['B'] == 3, 'A'].iloc[0]
Out[4]: 'p3'

关于python - 根据 Pandas 中的另一列提取列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36684013/

相关文章:

python - Pandas 按所有功能分组?

python - 过滤列值并收到 future 警告和类型错误?

python - Pandas DataFrame 切片与副本 : which one is more memory friendly?

python - Pandas - `loc` 在除一列之外的所有列上返回空 DataFrame

python - C 扩展中用于 IO 有界线程的 GIL (HDF5)

Python 多处理 - 棘手的用例,包括传递参数

python - pandas dataframe 按 bool 值、按索引和按整数

python - 从大数据框中选择特定行

python - 暂停(序列化)和恢复递归生成器堆栈的解决方法?

python - SwiftUI - 用 Python 和模块库打包