【发布时间】:2014-05-01 20:40:57
【问题描述】:
我需要根据另一列的布尔值修改我的 pandas 数据框的一列。假设我有一列值,一列是真/假,并且我想将 1 与相应的布尔真值相加。我尝试使用 iterrows,但这会复制数据框并且不会对其进行修改。
谢谢!
输入:
val bool
a 1.0 true
b 2.3 false
...
输出:
val bool
a 2.0 true
b 2.3 false
【问题讨论】:
-
df['val'] = df.apply(lambda row: row['val'] + [0,1][row['bool']], axis=1) -
不要使用
bool作为列名,加上你的值,如果它们应该是布尔值,它们是无效的,它们应该是True,False而不是true,false
标签: pandas