是的,你好編碼員
我正在嘗試根據另一個變數為資料框中的變數賦值,我的資料如下所示:
Housing_ID Member_ID My_new_staus
1 1
1 2
1 3
1 4
1 5
2 1
2 2
3 1
3 2
3 3
我要分配的是住房 id 等于 1(重復)的地方放置 My_new_staus:“有效”
我嘗試通過以下代碼應用它:
for i in range (len(df['Housing_ID'])):
if df['Housing_ID'][i] == 1 :
df['My_new_staus'][i] = 'Valid'
else:
df['My_new_staus'][i] = ''
并收到此訊息:# 類似于 Index.get_value,但我們不會退回到位置 KeyError: 398
我想要的輸出是
Housing_ID Member_ID My_new_staus
1 1 Valid
1 2 Valid
1 3 Valid
1 4 Valid
1 5 Valid
2 1
2 2
3 1
3 2
3 3
uj5u.com熱心網友回復:
您可以使用np.where將值分配給'My_new_status':
df['My_new_status'] = np.where(df['Housing_ID']==1,'valid','')
輸出:
Housing_ID Member_ID My_new_status
0 1 1 valid
1 1 2 valid
2 1 3 valid
3 1 4 valid
4 1 5 valid
5 2 1
6 2 2
7 3 1
8 3 2
9 3 3
uj5u.com熱心網友回復:
通常,您應該避免遍歷資料幀。你可以只使用一個.apply():
df = \
df.assign(My_new_status = df.Member_ID.apply(lambda row: 'Valid' if x==1 else ''))
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/379740.html
上一篇:在不使用ifelse和任何型別的回圈的情況下列印true或false
下一篇:密碼錯誤兩次如何恢復原狀
