Diberi bingkai data seperti ini:

   values values2 newrow
1  10     2
2  24     3
3  56     1
4  -10    2
5  1      0
6  78     1
7 -1      0

Saya hanya ingin memilih DataFrame ["Nilai"] dengan nilai positif dan menambah nilai NewRow yang sesuai dari nilai seri2

Hasil yang diharapkan

   values values2 newrow
1  10     2       2
2  24     3       3
3  56     1       1
4  -10    2       empty
5  1      0       0
6  78     1       1
7 -1      0       empty

Apa yang saya capai sejauh ini

dataframe.loc[dataframe['values'], 'newrow'] = i would like here to put dataframevalue['values2'] but it's not working
1
Claudio Ferraro 29 Mei 2021, 01:46

1 menjawab

Jawaban Terbaik

Gunakan np.where:

df["newrow"] = np.where(df["values"] > 0, df["values2"], "empty")
print(df)

Cetakan:

   values  values2 newrow
0      10        2      2
1      24        3      3
2      56        1      1
3     -10        2  empty
4       1        0      0
5      78        1      1
6      -1        0  empty
1
Andrej Kesely 28 Mei 2021, 22:51