Python 是否从数字列中删除字符串值?

Python 是否从数字列中删除字符串值?,python,database,pandas,dataframe,Python,Database,Pandas,Dataframe,我想从我的“平均评级”列中删除字符串值,有人能帮忙吗? 假设您的表格采用以下简化版本 from io import StringIO import pandas as pd, numpy as np input = """ bookID,title,average_rating 1,Foo,1.5 2,Bar,2.5 3,Baz,"Unwanted string" 4,Boo,3.5 5,Goo,"Another string" """ df = pd.read_c

我想从我的“平均评级”列中删除字符串值,有人能帮忙吗?


假设您的表格采用以下简化版本

from io import StringIO
import pandas as pd, numpy as np

input = """ 
 bookID,title,average_rating
 1,Foo,1.5 
 2,Bar,2.5 
 3,Baz,"Unwanted string" 
 4,Boo,3.5 
 5,Goo,"Another string" 
 """
df = pd.read_csv(StringIO(input))
您可以使用以下命令删除average_rating列中所有非数字字符串值的行

df[np.isfinite(pd.to_numeric(df.average_rating, errors="coerce"))]
这里是另一个例子

import pandas as pd
from pandas import ExcelWriter
from pandas import ExcelFile

df = pd.read_excel('goodreadsdata.xlsx')

df[['average_rating']] = df[['average_rating']].apply(pd.to_numeric, errors='coerce')
# ALl Df
print(df)
# Average column average_rating without Nan Value
print (df['average_rating'].mean())

您想用什么替换字符串值?0?
np.nan
?我想删除该行或替换为0您能在这里与我们分享一个关于您的文件的示例吗@GiovaniSalazar我在电子邮件部分放了什么?电子邮件并不重要…只要把任何东西放在邮件中…稍后你会在这里复制链接