我希望能够获取我当前填充了整数的数据集,并根据某些标准对它们进行分类。该表如下所示:
[in]> df = pd.DataFrame({'A':[0,2,3,2,0,0],'B': [1,0,2,0,0,0],'C': [0,0,1,0,1,0]})
[out]>
A B C
0 0 1 0
1 2 0 0
2 3 2 1
3 2 0 0
4 0 0 1
5 0 0 0
我想按字符串将它们分类在单独的列中。由于对 R 更加熟悉,我尝试使用该列定义中的规则创建一个新列。之后我尝试使用 .ix 和 lambdas ,它们都导致类型错误(在 ints 和 series 之间)。我的印象是这是一个相当简单的问题。尽管以下是完全错误的,但这是尝试 1 的逻辑:
df['D']=(
if ((df['A'] > 0) & (df['B'] == 0) & df['C']==0):
return "c1";
elif ((df['A'] == 0) & ((df['B'] > 0) | df['C'] >0)):
return "c2";
else:
return "c3";)
最终结果:
A B C D
0 0 1 0 "c2"
1 2 0 0 "c1"
2 3 2 1 "c3"
3 2 0 0 "c1"
4 0 0 1 "c2"
5 0 0 0 "c3"
如果有人可以帮助我解决这个问题,将不胜感激。