我有一個pandas
數據幀,我試圖追加兩列值,如果第二列的值不是NaN
。重要的是,在追加兩個值後,我需要將第二列的值設置爲NaN
。我設法連接了這些值,但無法將第二列更新爲NaN
。有條件更新熊貓數據幀上的兩列
這是我開始與ldc_df[['ad_StreetNo', 'ad_StreetNo2']].head(5)
:
ad_StreetNo ad_StreetNo2
0 284 NaN
1 51 NaN
2 136 NaN
3 196 198
4 227 NaN
這是我目前有追加後:
ad_StreetNo ad_StreetNo2
0 284 NaN
1 51 NaN
2 136 NaN
3 196-198 198
4 227 NaN
但這裏是我試圖獲得:
ad_StreetNo ad_StreetNo2
0 284 NaN
1 51 NaN
2 136 NaN
3 196-198 NaN
4 227 NaN
其中ldc_df['ad_StreetNo2'].loc[3]
的值應更改爲NaN
。
這是我目前使用的代碼:
def street_check(street_number_one, street_number_two):
if pd.notnull(street_number_one) and pd.notnull(street_number_two):
return str(street_number_one) + '-' + str(street_number_two)
else:
return street_number_one
ldc_df['ad_StreetNo'] = ldc_df[['ad_StreetNo', 'ad_StreetNo2']].apply(lambda x: street_check(*x),axis=1)
沒有人有任何建議,我怎麼能得到我預期的輸出?
薩姆
通過使用''melt' df.reset_index()相同熔體( '索引')dropna()GROUPBY( '索引')[ '值']應用(拉姆達×:。 ' - ' 。加入(x.astype(STR)))' – Wen