首页 > 解决方案 > Python 访问数据框 iterrows 中的字符串值并检查它是否包含特定值返回一般错误

问题描述

我正在尝试访问df.loc[idx, "GDP"]名为Quarter.

所以当我在里面时df.loc[idx, "GDP"],检查字符串是否Quarterdf.loc[idx, "GDP"]包含相关2008。我尝试了以下方法:

for idx, gdp in df.iterrows():
        if df.loc[idx, df['Quarter'].str[0:4]]==2008 and (idx<=length-2) and (df.loc[idx, "GDP"]>df.loc[idx+1, "GDP"]>df.loc[idx+2, "GDP"]):
            listOfQuarters.append({"GDP": df.loc[idx+1, "GDP"], "Quarter": df.loc[idx+1, "Quarter"]})
            print(df.loc[idx, df[ 'Quarter'].str[0:4])

添加以下行会df.loc[idx, df['Quarter'].str[0:4]==2008导致一般错误,但未指定它是关于什么的。

PS 我知道以这种方式循环数据帧是一个好习惯,但总行数是 66,所以现在这很好。

标签: pythonpandas

解决方案


推荐阅读