Python 不明白为什么专栏会赢';将pd.to\U numeric应用于时,请不要更改为numeric类型
我有一个数据框,其中第一列包含作为字符串的名称,我需要保留这些名称,其余列包含数字和字符串的混合。我只对数字感兴趣,所以我想将这些列转换为数字,并强制将字符串值转换为NaN,我可以使用errors=“concure” 但由于某些原因,当我在这些列上使用pd.to_numeric并强制执行错误时,它们仍然作为类型对象返回Python 不明白为什么专栏会赢';将pd.to\U numeric应用于时,请不要更改为numeric类型,python,python-3.x,pandas,Python,Python 3.x,Pandas,我有一个数据框,其中第一列包含作为字符串的名称,我需要保留这些名称,其余列包含数字和字符串的混合。我只对数字感兴趣,所以我想将这些列转换为数字,并强制将字符串值转换为NaN,我可以使用errors=“concure” 但由于某些原因,当我在这些列上使用pd.to_numeric并强制执行错误时,它们仍然作为类型对象返回 print(df.info()) df.iloc[:,1:]=df.iloc[:,1:].apply(lambda x: pd.to_numeric(x,errors='coer
print(df.info())
df.iloc[:,1:]=df.iloc[:,1:].apply(lambda x: pd.to_numeric(x,errors='coerce'))
print(df.info())
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 867 entries, 0 to 866
Data columns (total 15 columns):
Sample Name 867 non-null object
PFBS 196 non-null object
PFHxS 829 non-null object
PFOS 827 non-null object
PFHpA 301 non-null object
PFOA 711 non-null object
PFNA 744 non-null object
PFDA 625 non-null object
PFUnDA 378 non-null object
PFDoDA 236 non-null object
PFOSA 118 non-null object
N-EtFOSAA 638 non-null object
N-MeFOSAA 541 non-null object
PFPeA 437 non-null object
PFHxA 217 non-null object
dtypes: object(15)
memory usage: 101.7+ KB
None
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 867 entries, 0 to 866
Data columns (total 15 columns):
Sample Name 867 non-null object
PFBS 196 non-null object
PFHxS 829 non-null object
PFOS 827 non-null object
PFHpA 301 non-null object
PFOA 711 non-null object
PFNA 744 non-null object
PFDA 625 non-null object
PFUnDA 378 non-null object
PFDoDA 236 non-null object
PFOSA 118 non-null object
N-EtFOSAA 638 non-null object
N-MeFOSAA 541 non-null object
PFPeA 437 non-null object
PFHxA 217 non-null object
dtypes: object(15)
memory usage: 101.7+ KB
None
为什么这是可行的,但在数据帧的切片上使用apply却不行?有更直接的方法吗?我建议删除“示例名称”列以使用此选项:
df.drop("Sample Name", axis = 1)
另请检查文档,通过这种方式,您可以将带有字符串的单元格设置为列中的NaN:
df.loc[df['column'].str.contains('')==True, 'column'] = np.nan
df.loc[df['column'].str.contains('')==True, 'column'] = np.nan