我有一个搜索互联网并找到包含某些短语的网址的代码,尝试打开网址,如果可以的话,将它们输入到名为Mastersurl的Dataframe中,如下所示:
>>> Masterurls
Matches Searching for \
0 0.0 Green Bond Index
1 Na Green Bond Index
2 1 Green Bond
如果无法打开,则在“匹配”列中返回“Na”。我试图通过尝试找到列的值大于0的行:
Masterurls.Matches>0
Masterurls['Matches']>0
float(Masterurls['Matches'])>0
int(Masterurls['Matches'])>0
检查类型(Masterurls)= object
所有返回错误:unorderable types:str()>int()
如果我将“Na”值更改为-1,则类型(Mastervalues['Matches'])
将更改为Float并且代码将运行。我如何告诉它检查数据框Mastersurl的“匹配”列中的单元格,其中值大于0,而不是“Na”?
答案 0 :(得分:1)
我们可以使用to_numeric()方法:
Masterurls.loc[pd.to_numeric(Masterurls.Matches, errors='coerce') > 0]
演示:
In [146]: Masterurls
Out[146]:
Matches Searching for
0 0.0 Green Bond Index
1 Na Green Bond Index
2 1 Green Bond
In [147]: Masterurls.loc[pd.to_numeric(Masterurls.Matches, errors='coerce') > 0]
Out[147]:
Matches Searching for
2 1 Green Bond
In [148]: Masterurls[pd.to_numeric(Masterurls.Matches, errors='coerce') > 0]
Out[148]:
Matches Searching for
2 1 Green Bond