【发布时间】:2018-03-05 02:19:11
【问题描述】:
我正在尝试在数据框中创建一个具有以下逻辑的新列:
如果 A 列大于零,则使用 A 列。否则,使用 B 列。当我运行该函数时,它看起来只是 else 子句为真。但是,A 列中有明显大于零的值。我觉得这里缺少一些基本的东西,但是我的互联网搜索没有发现任何富有成果的东西,或者我的新生 python 技能对我来说并不明显。
def master_value():
for i, row in data_all.iterrows():
if data_all[row['column A']] > 0:
data_all[row['New Column']] = data_all[row['Column A']]
else:
data_all[row['New Column']] = data_all[row['Column B']]
return data_all
提前谢谢你。
【问题讨论】:
-
确定a列的数据是整数吗?
-
欢迎堆栈溢出!您能给我们举一个输入和预期输出的例子吗?
-
column A和Column A是两个不同的字符串。 -
首先,我听说这是一个很棒的开发者社区,但不到 24 小时内的回复给我留下了深刻的印象。谢谢你,我期待着在我了解更多信息后回馈。 @ 23k - 是的,这些列是整数:这是 info() 输出: cust_id 9175 non-null int64 column A 8310 non-null float64 column B 974 non-null float64 to Ken - 抱歉,我忘记了 Python 关心大小写。在我的代码中,列的大小写正确,但感谢您指出这一点作为注意。