Пустая ячейка не может быть распознана в типе объекта для замены на целое число в Python - PullRequest
0 голосов
/ 01 апреля 2020

У меня есть ниже как часть моего фрейма данных, column Curr был построен на основе других столбцов, однако я произвел column First and second как часть column Curr с spot_table['First']=spot_table['Ccy'].map(lambda x: x[0:7]) и spot_table['Second']=spot_table['Ccy'].map(lambda x: x[8:15]).

Ccy               First   Second 
AUD_USD/USD_INR   AUD_USD  USD_INR 
AUD_USD/USD_SGD   AUD_USD  USD_SGD
USD_AUD           USD_AUD
AUD_USD/USD_CNH   AUD_USD  USD_CNH
USD_AUD           USD_AUD 

они все основаны на dtype = O, в то время как мне нужно, чтобы они были строковыми. Мне нужно, чтобы пустые ячейки были распознаны как заполненные -1. что-то вроде: spot_table['Second'].fillna(-1, inplace = True)

код будет запущен, но, к сожалению, нулевые ячейки не могут быть распознаны, поэтому он не будет заменен ничем! и всякий раз, когда я использую spot_table['Second'].isnull().any(), результат получается как false.

Может кто-нибудь помочь мне, пожалуйста ????????? пожалуйста, пометьте кого-нибудь, кто может решить проблему, пожалуйста?

Приветствия, Z

This is the picture of the column with white space which is related to the comment to figure it out how to use isnull() in all different scenarios for object type while it doesn't work !

Это изображение столбец с пробелом, который связан с комментарием, чтобы понять, как использовать isnull () во всех различных сценариях ios для типа объекта, пока он не работает!

1 Ответ

0 голосов
/ 01 апреля 2020

Попробуйте это. Вместо того, чтобы использовать подстроку, я разделяю значение, чтобы подготовить список, и присваиваю столбцу Второй только значение, если в списке 2 элемента. Еще я установил его с NaN.

spot_table['First']=spot_table['Ccy'].map(lambda x: x.split('/')[0])
spot_table['Second']=spot_table['Ccy'].map(lambda x: x.split('/')[1] if len(x.split('/'))==2 else np.NaN)
spot_table['Second'].fillna(-1, inplace = True)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...