int で満たされた現在のデータ セットを取得し、特定の基準に従って分類できるようにしたいと考えています。テーブルは次のようになります。
[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"
誰かがこれを理解するのを手伝ってくれるなら、それは大歓迎です。