大Pandas的细胞值

2024-04-19 14:55:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试提取熊猫数据帧中的单元格值,但它是以下格式的一个系列:

21    Employed
Name: VAR_TEXT_, dtype: object

我只想要关键字'就业',但得到它作为熊猫系列。你知道吗

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)

注意:列列表太长,所以没有粘贴到这里。 我尝试了太多的选项,比如将字段转换为字符串,但仍然不起作用。你知道吗


Tags: 数据textnamedataobjectvar格式关键字
3条回答
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中没有您正在搜索的键时,这也会处理这种情况。你知道吗

如何使用.values

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

打印输出:

Employed

Series将列VAR_TEXT_添加到loc

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

相关问题 更多 >