使用关键字获取一行的值

时间:2018-11-29 09:24:48

标签: pandas python-2.7

我们有一个Python数据框,现在我们需要通过提供一个关键字来查找值,一旦关键字与之匹配,就需要提取整行作为列表whilist,以从中删除NaN值。  关键字通常位于数据框的第一列中 有什么建议么? 样本输入see this image 示例输出:如果关键字为“状态”,则输出必须为list = [State,Madhya Pradesh]

2 个答案:

答案 0 :(得分:1)

您应遵循社区准则来发布问题。但是,这是虚拟数据集的解决方案-

df = pd.DataFrame({'Col1':['State','City','Town'],
                  'Col2':['abc', 'random', 'defg'],
                  'Col3':['Madhya Pradesh', 'VBI', 'KJI']})

df

    Col1    Col2    Col3
0   State   abc     Madhya Pradesh
1   City    random  VBI
2   Town    defg    KJI

keyword = 'State'    <- give keyword here
vals = df[df.Col1 == keyword].Col3
vals

0    Madhya Pradesh
Name: Col3, dtype: object

lst = [keyword, vals.values[0]]
lst
['State', 'Madhya Pradesh']

答案 1 :(得分:0)

关键字='状态'

location = df [(df == keyword).any(1)]。stack()[lambda x:x!= keyword] .unique()

location_item = location.item()

这样效果更好!