单元格值以大熊猫系列出现

时间:2018-10-01 06:49:02

标签: python pandas

我正在尝试在pandas数据框中提取一个单元格值,但它以以下格式作为一系列出现:

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 :(得分:2)

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

答案 1 :(得分:1)

如何使用.values

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

打印出:

Employed

答案 2 :(得分:0)

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中没有要搜索的键的情况。