【发布时间】:2021-07-31 09:51:26
【问题描述】:
假设我在 Pandas 中有一个数据框:
import pandas as pd
import numpy as np
df = pd.DataFrame({'A': 'foo bar foo bar foo bar foo foo'.split(),
'B': 'one one two three two two one three'.split(),
'C': np.arange(8), 'D': np.arange(8) * 2})
数据框df 看起来像
A B C D
0 foo one 0 0
1 bar one 1 2
2 foo two 2 4
3 bar three 3 6
4 foo two 4 8
5 bar two 5 10
6 foo one 6 12
7 foo three 7 14
如果我想在C等于1的情况下获得D的值,我该如何编写代码?换句话说,当C = 1 时,如何返回D 值2?
【问题讨论】:
-
您是否尝试过使用
.loc对数据框进行切片?df.loc[df['C'].eq(1), 'D']