我试图根据其他两列的比较将 df 列中的值设置为 0 或 1。
我最初的 df 是这样的:
col1 col2 col3
1 3 NaN
5 1 NaN
7 4 NaN
5 10 NaN
我正在使用此代码尝试在 col3
中设置值到 1 其中 col1
大于col2
所有其他行均为 0:
df[df['col1'] >= df['col2']]['col3'] = 1
df[df['col1'] < df['col2']]['col3'] = 0
这肯定是错误的方法,但我不知道还有什么方法可以解决它。
所需的结果是具有以下值的 df:
col1 col2 col3
1 3 0
5 1 1
7 4 1
5 10 0
提前致谢。
最佳答案
您可以使用:
df['col3'] = df.col1.ge(df.col2).view('i1')
print(df)
col1 col2 col3
0 1 3 0
1 5 1 1
2 7 4 1
3 5 10 0
关于python - 根据 df 中其他两列的比较设置列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59650944/