2
在下面的代碼,有2個dataframes被相同標記(recent_grads
和all_ages
):Pandas中的iloc函數的用例是什麼?
majors = recent_grads['Major'].unique()
rg_lower_count = 0
for m in majors:
recent_grads_row = recent_grads[recent_grads['Major'] == m]
all_ages_row = all_ages[all_ages['Major'] == m]
rg_unemp_rate = recent_grads_row.iloc[0]['Unemployment_rate']
aa_unemp_rate = all_ages_row.iloc[0]['Unemployment_rate']
if rg_unemp_rate < aa_unemp_rate:
rg_lower_count += 1
print(rg_lower_count)
爲什麼需要的iloc[0]
部分(上線7和8)?由於每個系列只有1行(最近的梯度行和所有年齡段的行),因此不需要指定要執行比較的行。 然而,沒有它,我得到這個錯誤信息:
ValueError: Can only compare identically-labeled Series objects
我認爲有更好的__vectorized__方法...你可以發佈小型可重複數據集和你想要的數據集。請閱讀[如何製作良好的可重複熊貓示例](http://stackoverflow.com/questions/20109391/how-to-make-good-reproducible-pandas-examples)並相應編輯。 – MaxU