[英]How to check in which column is certain value in pandas.DataFrame?
[英]Check which value in Pandas Dataframe Column is String
我有一個包含大約 20 萬條記錄的 Dataframe。 當我輸入這個 Dataframe 作為 model 的輸入時,它會拋出這個錯誤:
不支持將字符串強制轉換為浮點數。
有什么方法可以檢查數據框中的哪個特定值導致了這個錯誤?
我嘗試運行此命令並檢查列中是否有任何值是字符串。
地圖中的錯誤((lambda x:type(x)== str),trainDF ['Embeddings'])
Output:
真的
在熊貓中,當我們轉換那些類型的混合列時,我們會做
df['col'] = pd.to_numeric(df['col'],errors = 'coerce')
對於那些無法轉換為浮點數的項目,這將返回NaN
,然后您可以使用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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.