【发布时间】:2013-08-30 15:00:41
【问题描述】:
假设我的数据框包含这些数据:
>>> df = pd.DataFrame({'a':['l1','l2','l1','l2','l1','l2'],
'b':['1','2','2','1','2','2']})
>>> df
a b
0 l1 1
1 l2 2
2 l1 2
3 l2 1
4 l1 2
5 l2 2
l1 应该对应于1 而l2 应该对应于2。
我想创建一个新列“c”,这样对于每一行,c = 1 如果a = l1 和b = 1(或a = l2 和b = 2)。如果a = l1 和b = 2(或a = l2 和b = 1)那么c = 0。
生成的数据框应如下所示:
a b c
0 l1 1 1
1 l2 2 1
2 l1 2 0
3 l2 1 0
4 l1 2 0
5 l2 2 1
我的数据框非常大,所以我真的在寻找使用 pandas 的最有效方法。
【问题讨论】: