Python Dataframe根据一些标准

时间:2017-12-11 02:15:20

标签: python pandas dataframe

我有这个简单的数据集如下:

enter image description here

将数据导入数据帧之后,我想要一个包含Type = 2的唯一ID列表。例如,所需的输出是:

ID 100654 100655

我想我需要使用.groupby,但我不确定如何实现这一点。有人可以帮忙吗?

提前致谢!

3 个答案:

答案 0 :(得分:1)

您不需要groupby来返回一个'ID'的值。

将以下内容与布尔索引和tolist一起使用:

df[df.Type == 2].ID.tolist()

输出:

[100654, 100655]

答案 1 :(得分:0)

df = pd.DataFrame().from_dict({'A': [100654,100654,100655,100655,100656,100656], 'B':[2,3,2,7,3,4]})

print (df[df['B'] == 2])

这将输出:

        A  B
0  100654  2
2  100655  2

答案 2 :(得分:-1)

您可以使用groupby,如下所示

df = pd.DataFrame().from_dict({'A': [100654,100654,100655,100655,100656,100656], 'B':[2,3,2,7,3,4]})
print df
'''
        A  B
0  100654  2
1  100654  3
2  100655  2
3  100655  7
4  100656  3
5  100656  4
'''

print 'group keys'
print df.groupby('B').groups.keys()

'''
group keys
[2, 3, 4, 7]
'''

print 'items related to key 2'
print df.groupby('B').get_group(2)['A']
'''
items related to key 2
0    100654
2    100655
Name: A, dtype: int64
'''

print "alternate method"
print df[df['B']==2]['A']
'''
alternate method
0    100654
2    100655
Name: A, dtype: int64
'''