Как добавить значения в столбцы, если поле равно NaN при split () - PullRequest
0 голосов
/ 12 июня 2019

Как установить значения полей в NaN с помощью Pandas.

У меня есть файл электронной таблицы в качестве входных данных, и в одном из столбцов есть пустые значения, которые я заполнил значениями NaN.

Я пытаюсь разделить имя с суффиксом.Я использовал str.split ().Но так как есть поля значений NaN.

Я столкнулся с этой ошибкой.

ValueError: длина столбцов должна быть равна ключу

Это мой образец DataFrame.

input_data = {["John III", "Снег"], ["", ""], ["Джон", "Снег"]}

Это мой ожидаемый результат

pected_output = {["Джон", "Снег", "III"], ["", "", ""], ["Джон", "Снег", ""]}

Это мойпример кода

df[[fname[0][0],fname[1][0]]] = df[column].str.split('&', expand=True, n=1)
df.applymap(lambda x: x.strip() if type(x) is str else x)
df.fillna(value=pd.np.nan, inplace=True)
df[[fname[0][0],fname[0][2]]] = df[fname[0][0]].str.split('\s+(?=Jr|Sr|JR|SR|II|III|IV)', expand=True, n=1)

Я просто новичок в Пандах и Нампи.

1 Ответ

0 голосов
/ 12 июня 2019

Вы можете сделать это так:

input_data = [['John III', 'Snow'], ['', ''], ['John', 'Snow']]
split_data = [[k for j in i for k in j.split()] for i in input_data]
#[['John', 'III', 'Snow'], [], ['John', 'Snow']]

df = pd.DataFrame(split_data).fillna('')
#      0     1     2
#0  John   III  Snow
#1                  
#2  John  Snow      

df.values
#array([['John', 'III', 'Snow'],
#       ['', '', ''],
#       ['John', 'Snow', '']], dtype=object)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...