Python 合并数据框中的2列,用上一个值填充NAN
我有一个数据帧:Python 合并数据框中的2列,用上一个值填充NAN,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个数据帧: State RegionName 0 Alabama Alabama 1 NaN Auburn 2 NaN Florence 3 NaN
State RegionName
0 Alabama Alabama
1 NaN Auburn
2 NaN Florence
3 NaN Jacksonville
4 NaN Livingston
5 NaN Montevallo
6 NaN Troy
7 NaN Tuscaloosa
8 NaN Tuskegee
9 Alaska Alaska
10 NaN Fairbanks
11 Arizona Arizona
12 NaN Flagstaff
13 NaN Tempe
14 NaN Tucson
我怎样才能回来
DataFrame([["Alabama", "Auburn"],
["Alabama", "Florence"], .
..,
["Alaska", "Fairbanks"],
["Arizona", "Flagstaff"],
...], columns=["State", "RegionName"])
那么所有的值都很好地合并了
我已经尝试过:df['State']=df['State'].applylambda x:df['RegionName'],但它缺乏在区域名称启动时为其分配新状态的逻辑。需要:
你可以试试菲尔娜
df=pd.DataFrame([["Alabama", "Auburn"],
[np.nan, "Florence"],
[np.nan, "Fairbanks"],
["Arizona", "Flagstaff"]], columns=["State", "RegionName"])
df
Out[94]:
State RegionName
0 Alabama Auburn
1 NaN Florence
2 NaN Fairbanks
3 Arizona Flagstaff
df.fillna(method='ffill')
Out[95]:
State RegionName
0 Alabama Auburn
1 Alabama Florence
2 Alabama Fairbanks
在我看来,这似乎不太可能是第一个以.ffill作为答案的问题。@DSM-我认为它是超级的;我想我想暗示的是,一个答案如此简单的问题以前可能被问过,我们应该找到被骗者,而不是再次回答。当我有一秒钟的时间,如果没有其他人,我可以自己找到一个好的目标。你真的很接近df1=df[df['State'!=df['RegionName']],然后使用参数drop=True-df1=df[df['State']!=df['RegionName']]。reset\u indexdrop=True
df=pd.DataFrame([["Alabama", "Auburn"],
[np.nan, "Florence"],
[np.nan, "Fairbanks"],
["Arizona", "Flagstaff"]], columns=["State", "RegionName"])
df
Out[94]:
State RegionName
0 Alabama Auburn
1 NaN Florence
2 NaN Fairbanks
3 Arizona Flagstaff
df.fillna(method='ffill')
Out[95]:
State RegionName
0 Alabama Auburn
1 Alabama Florence
2 Alabama Fairbanks