将数字从一种形式(字符串)转换为另一种形式

时间:2016-07-18 19:51:23

标签: python pandas

我有一个数据框“df”,其中包含“Amount”列,其中包含数百万的值,如2.3,17,1.47等。我想在“df”中创建一个新列“Amount1”,它将“Amount”中的每个值转换为2300000,17000000,1470000等形式。我该如何完成这项任务?以下代码抛出错误 - 无效语法。

df[Amount1] = df[Amount]
df[Amount1] = df.Amount1 * 1000000

2 个答案:

答案 0 :(得分:2)

您可以先Series.astype转换为float

df['Amount1'] = df.Amount.astype(float) * 1000000

如果它不起作用,请使用另一个solution

可能在值中有一些空格,因此请按str.strip删除它:

df['Amount1'] = df.Amount.str.strip().astype(float) * 1000000

编辑:

df['Amount1'] = df.Amount.str.replace('-','.').astype(float) * 1000000

或者:

df['Amount1'] = df.Amount.str.replace('-','').astype(float) * 1000000

答案 1 :(得分:1)

尝试:

df['Amount1'] = pd.to_numeric(df.Amount, errors='coerce') * 1000000