У меня есть два кадра данных, которые я изначально разделил floor_ и успешно преобразовал их в строки. Моя цель - заменить значения на «1: 0» и добавить «: 1» к остальным, но я получаю ошибку, как показано:
>>>df1
ID quantity
0 007 48.0
1 001 37.0
2 006 37.0
3 111 37.0
4 001 34.0
5 101 37.0
>>>df2
ID quantity
0 001 16.0
1 006 16.0
2 111 16.0
3 001 14.0
4 101 16.0
5 111 16.0
df1_to_df2=df1('ID').floordiv(df2('ID')).astype('Int64').astype(str)
>>>df1_to_df2
quantity
ID
007 <NA> #this must be replaced by "1:0"
001 2 #":1" should be added when only a digit is there
006 2
111 2
001 2
101 2
#Then I tried this:
df1_to_df2=df1_to_df2.transform(lambda x: replace(x,'1:0') if x=='<NA>' else x+':1')
#and it raises this error:
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
Требуется помощь, я не знаю, как исправьте это, чтобы получить желаемый результат ниже:
quantity
ID
007 1:0
001 2:1
006 2:1
111 2:1
001 2:1
101 2:1
Большое спасибо !!!