pd.to_numeric不起作用

时间:2018-07-22 08:30:28

标签: python-3.x pandas

我正遇到一个奇怪的熊猫问题。

我不知道我要去哪里错了?

enter image description here

但是当我创建一个新的df时,似乎没有问题。像

enter image description here

知道为什么吗?

编辑:

sat=pd.read_csv("2012_SAT_Results.csv")
sat.head()
#converted columns to numeric types
sat.iloc[:,2:]=sat.iloc[:,2:].apply(pd.to_numeric,errors="coerce")
sat.dtypes
sat_1=sat.iloc[:,2:].apply(pd.to_numeric,errors="coerce")
sat_1.head()

1 个答案:

答案 0 :(得分:1)

您不能直接使用to_numeric来应用.iloc的事实似乎是一个错误,但是要获得与您想要的结果相同的结果(将to_numeric应用于多个列),您可以改用:

df = pd.DataFrame({'a':['1','2'],'b':['3','4']})

# If you're applying to entire columns
df[df.columns[1:]] = df[df.columns[1:]].apply(pd.to_numeric, errors = 'coerce')

# If you want to apply to specific rows within columns
df.loc[df.index[1:], df.columns[1:]] = df.loc[df.index[1:], df.columns[1:]].apply(pd.to_numeric, errors = 'coerce')