我没有一个完整的答案,但也许我有一些建议可以帮助你。我相信您认为您的dataframe是一个类似于SQL记录集的对象。在for i in dataframe
这将迭代dataframe中的列名字符串。i将采用列名,而不是行。在
^{pr2}$
这将返回整列(pandas.Series,它是numpy.ndarray),而不是单个值。因此:dataframe['yhat'].__str__()
将给出整个列的字符串表示形式,这对人类阅读很有用。它当然不是一个可以转换为字符串的查询值。在if cleandf['yhat']>(-1000)
这会产生一个错误,因为cleandf['yhat']是一个完整的值数组,而不仅仅是一个值。把它看作一个完整的列,而不是一行中的值。在if cleandf['yhat'][i]>(-1000):
这一点越来越接近,但您确实希望i在这里是一个整数,而不是另一个列名。在for i in dataframe.iterrows():
if cleandf['yhat'][i]>(-1000):
使用iterrows似乎是对的。但是,i接受每一行的值,而不是可以索引到列中的整数(cleandf['yhat']是一个完整的列)。在
另外,请注意熊猫有更好的方法来检查丢失的值,而不是依赖一个巨大的负数。试试这样的方法:non_missing_index = pandas.isnull(dataframe['yhat'])
cleandf = dataframe[non_missing_index]
for row in cl