【发布时间】:2014-01-30 05:58:23
【问题描述】:
我了解 pandas 数据框类型能够测试其值的逻辑。
代码如下:
import pandas as pd
data = pd.DataFrame(columns=['a', 'b', 'c'])
data = data.append({'a': 'I have data', 'b': 'no more complexe', 'c': 024204}, ignore_index=True)
data = data.append({'a': 'audoausd', 'b': '2048rafaf', 'c': 29313}, ignore_index=True)
data = data.append({'a': 'koplak ente gan', 'b': 'ente g bisa koplak', 'c': 29313}, ignore_index=True)
现在我们有以下数据框:
a b c
0 I have data no more complexe 10372
1 audoausd 2048rafaf 29313
2 koplak ente gan ente g bisa koplak 29313
测试 c 列的逻辑值并将其保存到变量中
c = data.c > 20000
将 c 设置为以下值
0 False
1 True
2 True
Name: c, dtype: bool
测试b列的逻辑值并将其保存到变量中
b = data.b.str.contains('koplak')
b 值
0 False
1 False
2 True
Name: b, dtype: bool
也适用于 a 列
a = data.a.str.contains('koplak')
一个值
0 False
1 False
2 True
Name: b, dtype: bool
当我通过 a & b & c 比较所有这些值时,将返回:
0 False
1 False
2 True
dtype: bool
如果涉及到很多列,硬编码不是很好,所以我尝试制作一个包含所有列逻辑的列表
logic = [a, b, c]
如何自动比较所有项目以获得 a & b & c 结果?
【问题讨论】:
标签: python python-2.7 pandas