尝试使用pandas为我的数据集创建一个新列,该列是两列相乘的乘积。一组是称为美元的价值,称为价格,另一组是称为安装的数字。本身运行乘法代码会给我一个错误:“无法将序列乘以类型为'str'的非整数
我尝试运行以下代码将字符串转换为整数。
pd.to_numeric(appdata['Installs'], errors ='ignore')
pd.to_numeric(appdata['Price'], errors= 'ignore')
appdata[Income]= appdata['Installs'] * appdata[('Price')]
但这给了我同样的错误。
还有什么其他方法可以将数据转换为整数格式?
谢谢。
答案 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']