两列相乘时出现错误消息

时间:2018-10-15 01:46:43

标签: python pandas

尝试使用pandas为我的数据集创建一个新列,该列是两列相乘的乘积。一组是称为美元的价值,称为价格,另一组是称为安装的数字。本身运行乘法代码会给我一个错误:“无法将序列乘以类型为'str'的非整数

我尝试运行以下代码将字符串转换为整数。

    pd.to_numeric(appdata['Installs'], errors ='ignore')
    pd.to_numeric(appdata['Price'], errors= 'ignore')
    appdata[Income]= appdata['Installs'] * appdata[('Price')]

但这给了我同样的错误。

Error Message

还有什么其他方法可以将数据转换为整数格式?

Data

谢谢。

2 个答案:

答案 0 :(得分:1)

pd.to_numeric()不会在适当位置编辑该列。您应该这样做:

appdata['Installs'] = pd.to_numeric(appdata['Installs'], errors ='ignore')
appdata['Price'] = pd.to_numeric(appdata['Price'], errors= 'ignore')
appdata['Income']= appdata['Installs'] * appdata['Price']

答案 1 :(得分:1)

# remove , and + from 'Installs' to make the cells look integer to Pandas
appdata['Installs'] = pd.to_numeric(appdata['Installs'].str.replace(r'[\,\+]+', '', regex=True))
# remove , from 'Price' to make the cells look integer to Pandas
appdata['Price'] = pd.to_numeric(appdata['Price'].str.replace(r'[\,]+', '', regex=True))
# calculate "Income"
appdata['Income'] = appdata['Installs'] * appdata['Price']