gpt4 book ai didi

python - 根据 Pandas 列中的逻辑测试从 DataFrame 中选择行

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

考虑这个数据框

my_input_df = pd.DataFrame({
'export_services': [[1],[],[2,4,5],[4,6]],
'import_services': [[],[4,5,6,7],[],[]],
'seaport':['china','mexico','africa','europe'],
'price_of_fish':['100','150','200','250'],
'price_of_ham':['10','10','20','20']})

我想对 boolean 值的 export_services 进行过滤(丢弃空列表)并仅输出列的子集

my_output_df = pd.DataFrame({
'export_services': [[1],[2,4,5],[4,6]],
'seaport':['china','africa','europe'],
'price_of_fish':['100','200','250']})

我该怎么做?

谢谢:)

最佳答案

将列转换为 boolean 值,空值返回 False,因此可以使用 loc 进行过滤:

df = my_input_df.loc[my_input_df['export_services'].astype(bool), 
['export_services','seaport','price_of_fish']]
print (df)
export_services seaport price_of_fish
0 [1] china 100
2 [2, 4, 5] africa 200
3 [4, 6] europe 250

关于python - 根据 Pandas 列中的逻辑测试从 DataFrame 中选择行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51012845/

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