Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 检查Dataframe列中的哪个值是字符串_Python_Pandas_Dataframe_Numpy - Fatal编程技术网

Python 检查Dataframe列中的哪个值是字符串

Python 检查Dataframe列中的哪个值是字符串,python,pandas,dataframe,numpy,Python,Pandas,Dataframe,Numpy,我有一个由大约20万条记录组成的数据框架。当我将此数据框作为输入输入输入到模型时,它会抛出以下错误: 不支持将字符串强制转换为浮点 是否有任何方法可以检查数据帧中的哪个特定值导致此错误 我试着运行这个命令并检查列中是否有值是字符串 映射中为False((lambda x:type(x)=str),trainDF['Embeddings'])) 输出: 真的 在panda中,当我们转换这些类型混合列时 df['col'] = pd.to_numeric(df['col'],errors = 'co

我有一个由大约20万条记录组成的数据框架。当我将此数据框作为输入输入输入到模型时,它会抛出以下错误:

不支持将字符串强制转换为浮点

是否有任何方法可以检查数据帧中的哪个特定值导致此错误

我试着运行这个命令并检查列中是否有值是字符串

映射中为False((lambda x:type(x)=str),trainDF['Embeddings']))

输出:

真的


在panda中,当我们转换这些类型混合列时

df['col'] = pd.to_numeric(df['col'],errors = 'coerce')

它将返回
NaN
对于那些无法转换为float的项目,您可以使用
dropna
进行拖放,或者使用
fillna

填充一些默认值。您应该循环
trainDF
的索引,并使用
try except>查找有错误的行

>>> import pandas as pd
>>> trainDF = pd.DataFrame({'Embeddings':['100', '23.2', '44a', '453.2']})
>>> trainDF
  Embeddings
0        100
1       23.2
2        44a
3      453.2
>>> error_indices = []
>>> for idx, row in trainDF.iterrows():
...     try:
...         trainDF.loc[idx, 'Embeddings'] = float(row['Embeddings'])
...     except:
...         error_indices.append(idx)
...
>>> trainDF
  Embeddings
0      100.0
1       23.2
2        44a
3      453.2
>>> trainDF.loc[error_indices]
  Embeddings
2        44a

所有项目都可以是字符串。
float('1.23')
可以工作,但是
float('xyz')
会产生此错误。