0
我想從Pandas DataFrame中選擇一個特定列的值,該值的值以特定文本開頭。如果爲True,則下一列將使用前一列值的內容進行更新。如何選擇熊貓系列值以特定文本開頭?
例如,我有一個數據幀df_1
,我想和值a2
更新是a1
與as
開始。
df_1 = pd.DataFrame({'a1':['amtr1',np.nan,'astr2',np.nan,'gbstr2','mkstr2','gbstr2','astr1'],
'a2':[np.nan]*8})
df_1
a1 a2
0 amtr1 NaN
1 NaN NaN
2 astr2 NaN
3 NaN NaN
4 gbstr2 NaN
5 mkstr2 NaN
6 gbstr2 NaN
7 astr1 NaN
我想要這個輸出。
a1 a2
0 amtr1 NaN
1 NaN NaN
2 astr2 astr2
3 NaN NaN
4 gbstr2 NaN
5 mkmk2 NaN
6 gbstr2 NaN
7 astr1 astr1
另外'(df_1 [ 'A1'] str.startswith( 'as',na = False))'看起來更簡潔。 –
@NickilMaveli是的,我忘記了'str'方法中的'NaN'處理,歡呼聲將更新 – EdChum
Tks,如果'as'是一個unicode不是str?在我的真實數據中,有一個錯誤。 'AttributeError:只能使用帶字符串值的.str訪問器,它在pandas中使用np.object_ dtype。' –