我有这个简单的数据集如下:
将数据导入数据帧之后,我想要一个包含Type = 2的唯一ID列表。例如,所需的输出是:
ID 100654 100655
我想我需要使用.groupby,但我不确定如何实现这一点。有人可以帮忙吗?
提前致谢!
答案 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
'''