gpt4 book ai didi

python - pandas 在两列匹配嵌套列表值的地方放置

转载 作者:行者123 更新时间:2023-11-28 22:21:11 25 4
gpt4 key购买 nike

如果满足嵌套列表中的任何组合,我需要删除一个数据框。
这是示例数据框:

df = pd.DataFrame([['A','Green',10],['A','Red',20],['B','Blue',5],['B','Red',15],['C','Orange',25]],columns = ['Letter','Color','Value'])

print df

Letter Color Value
0 A Green 10
1 A Red 20
2 B Blue 5
3 B Red 15
4 C Orange 25

我有一个字母/颜色组合列表,需要从数据框中删除:

dropList = [['A','Green'],['B','Red']]

如何从字母/颜色组合位于任何嵌套列表中的数据框中删除?
必要时我可以采用但要避免的方法:

写一个.apply函数

任何形式的暴力迭代

将dropList转换为df并合并

#df_out = code here to drop if letter/color combo appears in my droplist
print df_out

Letter Color Value
0 A Red 20
1 B Blue 5
2 C Orange 25

我想有一些我看不到的简单的单行/双行解决方案...谢谢!

最佳答案

您可以创建一个助手 DF:

In [36]: drp = pd.DataFrame(dropList, columns=['Letter','Color'])

将您的主 DF 与辅助 DF 合并(左),并仅选择右侧 DF 中缺失的那些行:

In [37]: df.merge(drp, how='left', indicator=True) \
.query("_merge=='left_only'") \
.drop('_merge',1)
Out[37]:
Letter Color Value
1 A Red 20
2 B Blue 5
4 C Orange 25

关于python - pandas 在两列匹配嵌套列表值的地方放置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48531530/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com