1 回答

TA貢獻1844條經驗 獲得超8個贊
在執行 時df['Klasse'] == 'value',value被分配給整個列,因為分配是矢量化操作。您可以使用locpandas 中的 dataframe 方法并傳遞行和列的正確索引名稱,以重新分配值,如下所示:
def Klasse(df):
for index, value in df.Opnameduur.items():
if value == 1:
df.loc[index, 'Klasse'] = 'dag'
elif value == 2:
df.loc[index, 'Klasse'] = 'kort'
elif value == 3:
df.loc[index, 'Klasse'] = 'kort'
elif value == 4:
df.loc[index, 'Klasse'] = 'middel'
elif value == 5:
df.loc[index, 'Klasse'] = 'middel'
elif value == 6:
df.loc[index, 'Klasse'] = 'middel'
elif value >= 7:
df.loc[index, 'Klasse'] = 'lang'
else:
df.loc[index, 'Klasse'] = 'onbekend'
添加回答
舉報