重复列中的值,直到发生更改

时间:2016-12-27 12:53:18

标签: python-3.x pandas

我有以下df:

df = pd.DataFrame(data = {'Location': ['ALABAMA', 'Auburn', 'Florence', 'Jacksonville', 'ALASKA', 'Fairbanks'], 'State': ['ALABAMA', np.nan, np.nan, np.nan, 'ALASKA', np.nan]})

       Location    State
0       ALABAMA  ALABAMA
1        Auburn      NaN
2      Florence      NaN
3  Jacksonville      NaN
4        ALASKA   ALASKA
5     Fairbanks      NaN

我想要的是取代“状态”中的NaN值。列及其对应的州名称。换句话说,重复列中的值,直到发生更改。这是所需的输出:

df_output = pd.DataFrame(data = {'Location': ['ALABAMA', 'Auburn', 'Florence', 'Jacksonville', 'ALASKA', 'Fairbanks'], 'State': ['ALABAMA', 'ALABAMA', 'ALABAMA', 'ALABAMA', 'ALASKA', 'ALASKA']})

       Location    State
0       ALABAMA  ALABAMA
1        Auburn  ALABAMA
2      Florence  ALABAMA
3  Jacksonville  ALABAMA
4        ALASKA   ALASKA
5     Fairbanks   ALASKA

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

如果你的顶级数据帧图像是你已经拥有的,那么这是一个简单的问题。

df['State'].fillna(method='ffill')