所以我有一个关于上赛季 NBA 统计数据的数据框,我用它来学习 pandas 和 matplotlib,但所有数字(每场比赛得分、工资、PER 等)都是字符串。当我尝试对它们求和并且它们只是连接起来时我注意到了这一点。所以我用了这个:
df['Salary'] = df['Salary'].astype(float)
更改值,但还有更多列我必须执行相同的操作,并且我知道我应该手动执行此操作。首先想到的是某种正则表达式,但我不熟悉它,所以我正在寻求帮助。提前致谢!
最佳答案
在 Pandas 中,DataFrame 对象通过 columns
属性创建框架中包含的所有列的列表。该属性是可迭代的,这意味着您可以将其用作 for-in
循环的可迭代对象。这使您可以轻松地运行操作并将操作应用于所有列:
for col in df.columns:
df[col] = df[col].astype('float', errors='ignore')
Pandas DataFrame 的文档页面:https://pandas.pydata.org/pandas-docs/stable/reference/frame.html
关于python - 如何更改包含数字的所有字符串单元格以在 pandas 中同时 float ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57649449/