首页 > 解决方案 > 将字符串转换为浮点数。列标题中有一个 % 符号

问题描述

我有一个带有 nba 统计数据的数据框,每个统计数据当前都是一个对象。我能够将其中的大部分转换为浮点数,但是,在尝试转换列标题中具有 % 的那些时,我收到一条错误消息,例如 FG%、3P%、2P%。

数据

数据类型

标签: stringpandasdata-conversion

解决方案


您如何将其加载到 DataFrame 中。我相信您是从kaggle获得数据的?

当我将此 CSV 加载到 DataFrame 中时,您列为对象的所有类型都会自动变为 float64。我的熊猫版本是 0.25.1。

如果您可以提供一个可重复的示例,因为 Paul H 的评论正在推动您,这将有所帮助。

import pandas as pd
df = pd.read_csv('Seasons_Stats.csv')
df.dtypes
Out: 
Unnamed: 0      int64
Year          float64
Player         object
Pos            object
Age           float64
Tm             object
G             float64
GS            float64
MP            float64
PER           float64
TS%           float64
3PAr          float64
FTr           float64
ORB%          float64
DRB%          float64
TRB%          float64
AST%          float64
STL%          float64
BLK%          float64
TOV%          float64
USG%          float64
blanl         float64
OWS           float64
DWS           float64
WS            float64
WS/48         float64
blank2        float64
OBPM          float64
DBPM          float64
BPM           float64
VORP          float64
FG            float64
FGA           float64
FG%           float64
3P            float64
3PA           float64
3P%           float64
2P            float64
2PA           float64
2P%           float64
eFG%          float64
FT            float64
FTA           float64
FT%           float64
ORB           float64
DRB           float64
TRB           float64
AST           float64
STL           float64
BLK           float64
TOV           float64
PF            float64
PTS           float64
dtype: object

推荐阅读