如何使用正值而非负值创建新列

时间:2014-10-29 15:18:47

标签: pandas

好的,我有一个如下所示的熊猫日期框架。

Date        Time            Value/MWh
01.08.2009  00:00 - 01:00   0
01.08.2009  01:00 - 02:00   -100
01.08.2009  02:00 - 03:00   80
01.08.2009  03:00 - 04:00   50

如果有值< 0,我想在新列中将此值作为正值。 如果是这种情况,则在左列中应为0。

它必须如下所示:

Date        Time            Value/MWh
01.08.2009  00:00 - 01:00   0   0
01.08.2009  01:00 - 02:00   0   100
01.08.2009  02:00 - 03:00   80  0
01.08.2009  03:00 - 04:00   50  0

我怎么能得到这个?

1 个答案:

答案 0 :(得分:0)

这对我有用:

df['new'] = 0
df.new.loc[df['Value/MWh']<0] = df['Value/MWh'].abs()
df['Value/MWh'].loc[df['Value/MWh']<0] = 0

您应该避免使用奇怪的列名,否则会产生错误。