Python - Применение функции title () к значениям в столбце - PullRequest
0 голосов
/ 11 ноября 2018

Я сделал несколько методов для python в моем фрейме данных. Однако мне интересно, почему моя функция не работает правильно и почему она, кажется, не применяется правильно, вот мой код, сопровождаемый соответствующим снимком экрана:

def clean_belfast_data(df):
    df.dropna(subset=['Ward Name'], inplace=True)    
    df.reset_index(drop=True, inplace=True)
    #Perhaps I can't use inplace for this.
    df['Ward Name'].str.title().inplace=True
return df

enter image description here

Ответы [ 3 ]

0 голосов
/ 11 ноября 2018

У вас есть две вещи, которые нужно изменить,

df['Ward Name'].str.title().inplace=True это не верно .

также не забудьте присвоить его обратно, и обычно мы не используем inplace = True для непосредственного изменения исходных данных

def clean_belfast_data(df1):
    df=df1.copy()
    df.dropna(subset=['Ward Name'], inplace=True)    
    df.reset_index(drop=True, inplace=True)
    #Perhaps I can't use inplace for this.
    df['Ward Name']=df['Ward Name'].str.title()
    return df

CrimeData_1=clean_belfast_data(crimeDate)
0 голосов
/ 11 ноября 2018

Нет необходимости создавать функцию. Ваши операции не сохраняются, это ваша проблема.

 df['Ward Name']= df['Ward Name'].dropna()

Тогда

df['Ward Name'] = df['Ward Name'].str.title()
0 голосов
/ 11 ноября 2018

Изменение

df['Ward Name'].str.title().inplace=True

до

df['Ward Name'] = df['Ward Name'].str.title()

Строка df['Ward Name'].str.title().inplace=True является недействительным python / pandas. Я не уверен, почему он работает без ошибок, но он не делает то, что вы хотите сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...