2016-11-14 33 views
2

這裏是我的datafram如何根據同一列中的先前值生成列中的值?

df=pd.Dataframe([{'RegionName':'Alabama', 'State':'Alabama'}, 
       {'RegionName':'Auburn', 'State':np.NaN}, 
       {'RegionName':'Florence', 'State':np.NaN}, 
       {'RegionName':'Arizona', 'State':'Arizona'}, 
       {'RegionName':'Flagstaff', 'State':np.NaN}, 
       {'RegionName':'Tempe', 'State':np.NaN}]) 

現在對於「奧本」和「佛羅倫薩」的「國家」一欄應該是「阿拉巴馬」,爲「旗杆」和「坦佩」應該是「亞利桑那」。我如何用熊貓做到這一點?

回答

0

你只想着填補

df.ffill() 

enter image description here


迴應置評

pd.concat([d.iloc[1:] for _, d in df.ffill().groupby('State')]) 

enter image description here

+0

非常感謝。我該如何放棄所有重複狀態的第一個值?在這種情況下,如何在不使用drop索引的情況下刪除索引0和索引3? –

+0

@SeanLiao更新後 – piRSquared

相關問題