他の列(X、Y)の値に基づいて、パンダデータフレームの列(Z)の値を設定したい:
そのためのサンプルコードは次のとおりです。
for i, row in df.iterrows():
#print(i, row['Z'])
if row['X'] == 1 and row['Y'] == 0:
row['Z'] = 1
if row['X'] == 0 and row['Y'] == 1:
row['Z'] = 0
if row['X'] == 0 and row['Y'] == 0:
row['Z'] = 2
if row['X'] == 1 and row['Y'] == 1:
row['Z'] = 3
そうする方法は何ですか?
使用numpy.select
して&
ビット単位のためにAND
:
m1 = df['X'] == 0
m2 = df['X'] == 1
m3 = df['Y'] == 0
m4 = df['Y'] == 1
df['Z'] = np.select([m2 & m3, m1 & m4, m1 & m3, m2 & m4], [1,0,2,3])
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加