【问题标题】:How do I generate values in a column based on former values in the same column?如何根据同一列中的先前值生成列中的值?
【发布时间】:2018-12-11 04:29:08
【问题描述】:

这是我的数据框

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}])

现在“Auburn”和“Florence”的“State”列应该是“Alabama”,“Flagstaff”和“Tempe”应该是“Arizona”。我如何使用熊猫来做到这一点?

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    你只想转发填充

    df.ffill()
    


    回复评论

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

    【讨论】:

    • 非常感谢。以及如何删除所有重复状态的第一个值?在这种情况下,如何不使用 drop index 删除索引 0 和索引 3?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多