【发布时间】:2021-04-09 09:13:50
【问题描述】:
我有一个这样的数据框,但它不一定只有 3 个站点:
data = [[501620, 501441,501549], [501832, 501441,501549], [528595, 501662,501549],[501905,501441,501956],[501913,501441,501549]]
df = pd.DataFrame(data, columns = ["site_0", "site_1","site_2"])
我想切片可以动态地从 li(list) 元素和随机组合中获取条件的数据帧。 我试过下面的静态代码:
li = [1,2]
random_com = (501620, 501441,501549)
df_ = df[(df["site_"+str(li[0])] == random_com[li[0]]) & \
(df["site_"+str(li[1])] == random_com[li[1]])]
如何使上述代码动态化?
我已经尝试过了,但它给了我两个不同的数据帧,但我需要一个同时具有两个条件 (AND) 的数据帧。
[df[(df["site_"+str(j)] == random_com[j])] for j in li]
【问题讨论】:
标签: python python-3.x pandas for-loop