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我在电子邮件部分放了什么?电子邮件并不重要…只要把任何东西放在邮件中…稍后你会在这里复制链接