好的,我有一个带有两列索引的DataFrame,我正在尝试过滤掉该DataFrame中的行,并将原始DataFrame的INDEX COLUMNS保留到新的过滤DataFrame中。
我通过以下方式从CSV文件创建了数据框:在此处查找CSV文件。
census_df = pd.read_csv("census.csv", index_col = ["STNAME", "CTYNAME"])
census_df.sort_index(ascending = True)
然后,我对DataFrame进行了一些过滤,效果非常好,得到了期望的行。我使用的代码如下所示:
def my_answer():
mask1 = census_df["REGION"].between(1, 2)
mask2 = census_df.index.get_level_values("CTYNAME").str.startswith("Washington")
mask3 = (census_df["POPESTIMATE2015"] > census_df["POPESTIMATE2014"])
new_df = census_df[mask1 & mask2 & mask3]
return pd.DataFrame(new_df.iloc[:, -1])
my_answer()
问题如下:
上述代码返回一个数据框,其中包含索引和第一列,以及两个索引列。我想要的只是这两个索引列。因此,最终答案应该返回一个数据框,其中包含“STNAME”和“CTYNAME”,共5行。
return new_df.reset_index()
替代return pd.DataFrame(new_df.iloc[:, 0])
吗? - jezrael