标签: python pandas dataframe
我想选择数据帧的一部分,其中一个特定列中的值是多个值中的一个。
我现在所做的是
idx = my_df['Column'].apply(lambda z: z in selected_items) new_df = my_df[idx]
有没有更好的方法来实现这一目标?
答案 0 :(得分:2)
这应该有用吗?
new_df = my_df[my_df['Column'].isin(selected_items)]
答案 1 :(得分:1)
使用isin:
isin
new_df = my_df[idx].isin(selected_items)
示例:
In [579]: df = pd.DataFrame({'a': [0, 1, 2, 3, 4, 5, 6, 7]}) df Out[579]: a 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 In [581]: df[df['a'].isin([3,5,6])] Out[581]: a 3 3 5 5 6 6
另一种方法是query:
query
In [582]: df.query('a in [3,5,6]') Out[582]: a 3 3 5 5 6 6