有的时候我们处理资料难免会遇到需要筛选的时候
毕竟总不可能随时都一句「我全都要」吧
我全都要(图片来自网路)
因此我们今天来谈一下在python中那些对资料进行筛选的方法
# 筛选list-使用列表推导式
list1 = [1,2,3,4,5,6]
list2 = [x for x in list1 if x % 2 == 1] # 筛选奇数元素
list2
# [1, 3, 5]
# 筛选list-使用filter()
list1 = [1,2,3,4,5,6]
list2 = list(filter(lambda x : x % 2 == 1, list1)) # 记得要再放进去list()里面才会得到list
list2
# [1, 3, 5]
# 筛选dict
dict1 = {"a":1, "b":2, "c":3}
# 按key筛选
dict2 = {k:v for k,v in dict1.items() if k in ["a","c"]} # 筛选key是a或c的
dict2
# {'a': 1, 'c': 3}
# 按value筛选
dict3 = {k:v for k,v in dict1.items() if v%2 == 1} # 筛选value是奇数的
dict3
# {'a': 1, 'c': 3}
# 筛选DataFrame
import pandas as pd
df = pd.DataFrame({"a":[1,2,3], "b":[4,5,6], "c":[7,8,9], "d":[True, True,False]})
df
# 筛选a,c col
df[["a","c"]]
# 根据布林col来筛选
df[df["d"]] # 只会取出d-col中为True的结果
isin
筛选特定条件mask = df.isin({"a":[1,3], "b":[4,5], "c":[7,8,9], "d":[True,False]})
mask
df[mask]
df["col_name"].str.contains("some text")
<<: Day8 Vue Computed vs Method
大家好,我是YIYI,今天我要来制作日记部分的介面。 如何进入日记页面? 日记的部分是点选像是笔的i...
今天继续针对 Data Analytics Pipeline on AWS 中常见的 AWS 服务来...
LIKE 运算子搭配 WHERE 子句可以依一特定模式 (Pattern) 为条件来搜寻资料表中的特...
一般在写ASP.NET是不太希望用 response.write来作页面输出。 因为用respon...
什麽是 Vuex ? 为 Vue.js 开发的状态管理模式,集中管理元件的状态。 像是电商网站中的购...