Здравствуйте, разработчики,
В настоящее время я изучаю панды и все еще пытаюсь обдумать, как присваивать значения, которые я преобразовал, например, в определенный тип, обратно в исходный фрейм данных.
Более конкретно, у меня есть этот фрейм данных:
id A B
0 50000 12413 32885.0
1 50001 2040 43737.0
3 50002 2040 28015.0
4 50003 2040 NaN
5 50004 2040 28565.0
Моя цель - преобразовать столбец B
в целые числа, но оставить значения NaN
как есть, поэтому fillna(0)
нет.Я хочу получить это:
id A B
0 50000 12413 32885
1 50001 2040 43737
3 50002 2040 28015
4 50003 2040 NaN
5 50004 2040 28565
Я сделал это с print(df.loc[df['B'].notnull(), 'B'].astype('int'))
, и это сработало.
B
0 32885
1 43737
3 28015
4 28565
Но если я попытаюсь присвоить его обратно фрейму данных с:
df.loc[df['B'].notnull(), 'B'] = df.loc[df['B'].notnull(), 'B'].astype('int')
Я все еще получаю исходные, не преобразованные данные.Так что я, кажется, делаю задание неправильно, но я не могу понять, как сделать это правильноПомощь будет высоко ценится!