#python #pandas
#python #pandas
Вопрос:
У меня есть фрейм данных student и я хочу обновить значение столбца pass как fail, где имя студента — Том, а возраст — 10.? Поскольку я новичок в программировании. Кто-нибудь, пожалуйста, может подсказать мне, что не так в этом коде? это не работает.
import pandas as pd
data = [['tom', 10,'True'], ['nick', 15,'True'], ['juli', 14,'True']]
df = pd.DataFrame(data, columns = ['Name', 'Age','Pass'])
df
def result(df):
if(df['Name']=='tom') and (df['Age']==10)):
return 'Fail'
df2['Passs']=df2.apply(result,axis=1)
Комментарии:
1. Откуда
df2
взялось? Вы никогда не объявлялиdf2
копиейdf
Ответ №1:
Попробуйте это
df.loc[df.Name.eq('tom') amp; df.Age.eq(10), 'Pass'] = 'Fail'
print(df)
Вывод:
Name Age Pass
0 tom 10 Fail
1 nick 15 True
2 juli 14 True
Ответ №2:
import pandas as pd
data = [['tom', 10,'True'], ['nick', 15,'True'], ['juli', 14,'True']]
df = pd.DataFrame(data, columns = ['Name', 'Age','Pass'])
def myfunc(row):
if (row.Name == 'tom') and( row.Age == 10) :
return "Fail"
else:
return row.Pass
df.loc[:, 'Pass'] = df.apply(myfunc, axis = 1)
print(df)