Значение ячейки, поступающей как серия в пандах - PullRequest
0 голосов
/ 01 октября 2018

Я пытаюсь извлечь значение ячейки в pandas dataframe, но оно идет в виде последовательности в следующем формате:

21    Employed
Name: VAR_TEXT_, dtype: object

Я просто хочу ключевое слово 'Employed', но получаю его как серию pandas.

x=df1.loc[df1['VAR_NAME_'] == 'employmentType']
x1 = x.ix[:,47]
print(x1)

пример данных

data=['474400', '47', '474400', '1275', 'NULL', 'POC:32:420345', 'NULL', '474400', 'NULL', '1', '0', '1', '0', '0', '1', 'NULL', '', 'NULL', 'sid-EE2BC780-1E99-484A-BCC0-B4D9FD30A5BB', '2018-07-23 10:52:02.536', 'user_1034', 'NULL', '0', '0', '0', '0', '0', '0', '0', '0', '0', 'NULL', 'NULL', 'POC', 'POC:32:420345', 'oopp', '32', '420317', '503780', 'employmentType', 'string', '1', '474400', '474400', 'NULL', 'NULL', 'NULL', 'Employed', 'NULL', 'NULL']
df=pd.DataFrame(data)

Примечание: Список столбцов слишком длинный, поэтому не вставляйте его сюда.Я пробовал слишком много опций, таких как преобразование поля в строку, но это все еще не работает.

Ответы [ 3 ]

0 голосов
/ 01 октября 2018

Добавить столбец VAR_TEXT_ в loc для Series:

x = df1.loc[df1['VAR_NAME_'] == 'employmentType', 'VAR_TEXT_']
print(x)
21    Employed
Name: VAR_TEXT_, dtype: object

И затем использовать next с необязательным аргументом, если нет элементов для извлечения:

a = next(iter(x), 'no matched value')
print (a)
Employed

x=df1.loc[df1['VAR_NAME_'] == 'aaa', 'VAR_TEXT_']
print(x)
Series([], Name: VAR_NAME_, dtype: object)

a = next(iter(x), 'no matched value')
print (a)
no matched value
0 голосов
/ 01 октября 2018
temp_df = df1.loc[df1['VAR_NAME_'] == 'employmentType']
if not temp_df.empty:
 print(temp_df.iloc[0]['VAR_NAME_'])
else:
 print("Not found")

Это также обрабатывает случай, когда DF не имеет ключа, который вы ищете в нем.

0 голосов
/ 01 октября 2018

Как насчет использования .values:

x=df1.loc[df1['VAR_NAME_'] == 'employmentType']
x1 = x.ix[:,47].values
print(x1)

Печать:

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