Python 如果列具有字符串,则将值转换为负值
我试图将python中的数量从正转换为负,我有下表: 收付 数量 付款 1233 收据 4561.3 尝试: 印刷品:Python 如果列具有字符串,则将值转换为负值,python,pandas,dataframe,Python,Pandas,Dataframe,我试图将python中的数量从正转换为负,我有下表: 收付 数量 付款 1233 收据 4561.3 尝试: 印刷品: 收付款金额2 0付款1233.0-1233.0 1收据4561.3 4561.3 试试: 印刷品: 收付款金额2 0付款1233.0-1233.0 1收据4561.3 4561.3 使用df.where,您在正确的轨道上做得非常好 df['Amount 2'] = df.Amount.where(df['Receipt / Payment'].ne('Payment'), -d
收付款金额2
0付款1233.0-1233.0
1收据4561.3 4561.3
试试:
印刷品:
收付款金额2
0付款1233.0-1233.0
1收据4561.3 4561.3
使用df.where,您在正确的轨道上做得非常好
df['Amount 2'] = df.Amount.where(df['Receipt / Payment'].ne('Payment'), -df.Amount)
输入
Receipt / Payment Amount
0 Payment 1233.0
1 Receipt 4561.3
Receipt / Payment Amount Amount 2
0 Payment 1233.0 -1233.0
1 Receipt 4561.3 4561.3
输出
Receipt / Payment Amount
0 Payment 1233.0
1 Receipt 4561.3
Receipt / Payment Amount Amount 2
0 Payment 1233.0 -1233.0
1 Receipt 4561.3 4561.3
你在df.where的正确轨道上做得很好
df['Amount 2'] = df.Amount.where(df['Receipt / Payment'].ne('Payment'), -df.Amount)
输入
Receipt / Payment Amount
0 Payment 1233.0
1 Receipt 4561.3
Receipt / Payment Amount Amount 2
0 Payment 1233.0 -1233.0
1 Receipt 4561.3 4561.3
输出
Receipt / Payment Amount
0 Payment 1233.0
1 Receipt 4561.3
Receipt / Payment Amount Amount 2
0 Payment 1233.0 -1233.0
1 Receipt 4561.3 4561.3
这真是太有魅力了,非常感谢!这真是太有魅力了,非常感谢!