Python - 基于另一个列值的Access列

时间:2016-10-12 14:58:25

标签: python pandas

我在python中有以下数据框

+-------+--------+
| Value | Number |
+-------+--------+
| true  |    123 |
| false |    234 |
| true  |    345 |
| true  |    456 |
| false |    567 |
| false |    678 |
| false |    789 |
+-------+--------+

如何进行返回所有'数字'的列表的操作。其值为== TRUE

上表所需的输出列表是

['123', '345', '456']

提前致谢!

1 个答案:

答案 0 :(得分:0)

df.loc[df['Value'],'Number']应该假设dtype为' Value'是真正的布尔人:

In [68]:
df.loc[df['Value'],'Number']

Out[68]:
0    123
2    345
3    456
Name: Number, dtype: int64

以上使用布尔索引,这里的布尔值是针对df的掩码。

如果您想要list

In [69]:
df.loc[df['Value'],'Number'].tolist()

Out[69]:
[123, 345, 456]