python - 如何更改包含数字的所有字符串单元格以在 pandas 中同时 float ?

标签 python python-3.x pandas dataframe jupyter-notebook

所以我有一个关于上赛季 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/

相关文章:

python - Kivy:拖放,获取文件路径

python - XLWT可以在Linux平台上工作吗?

python - 排列后如何打印彼此相邻的元组中的值?

python - 如何知道我使用的是哪个版本的 pandas-profiling?

python - HDF5 比 CSV 占用更多空间?

python - 在多列 Pandas 上应用 lambda 行

python - 将 Plumbr 与在 Python 脚本中使用 R 制作图表的其他选项进行比较

python - 发送到 Citrix 应用程序时在 Python 脚本中模拟硬件按键(SendKeys 不起作用)

python - 在 Pytorch 中查找前 k 个匹配项

python - 使用 cx_freeze 卡住后的绝对路径(Qt5/PySide2 应用程序)