我正遇到一个奇怪的熊猫问题。
我不知道我要去哪里错了?
但是当我创建一个新的df时,似乎没有问题。像
知道为什么吗?
编辑:
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()
答案 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')