Python 具有范围列的数据帧。给定编号,选择编号所在的行
我有一个数据框,其中有一列数字,然后是更多的数据列Python 具有范围列的数据帧。给定编号,选择编号所在的行,python,pandas,Python,Pandas,我有一个数据框,其中有一列数字,然后是更多的数据列 [1, 2, 3, ..., 10] | a | b [11, 12, 13, 14, ...] | c | d 给定一个数字,如10、14等。如何选择该数字在范围内的行,即对于10,我希望返回[1、2、3、…、10]| a | b行 到目前为止,我尝试了dfs['A'].ix[10在dfs['A']['B']]中,dfs是数据帧字典,'A'是数据帧,'B'是带范围的列 如何执行此操作?使用apply循环遍历列B,并逐个检查返回逻
[1, 2, 3, ..., 10] | a | b
[11, 12, 13, 14, ...] | c | d
给定一个数字,如10、14等。如何选择该数字在范围内的行,即对于10,我希望返回[1、2、3、…、10]| a | b
行
到目前为止,我尝试了dfs['A'].ix[10在dfs['A']['B']]中,dfs
是数据帧字典,'A'
是数据帧,'B'
是带范围的列
如何执行此操作?使用
apply
循环遍历列B
,并逐个检查返回逻辑索引的每个元素以进行子集设置:
df = pd.DataFrame({"B": [list(range(1,11)), list(range(11,21))], "col1":["a", "b"], "col2":["c", "d"]})
df[df["B"].apply(lambda x: 10 in x)]
# B col1 col2
# 0 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] a c
使用
apply
循环遍历列B
,并分别检查返回逻辑索引的每个元素,以进行子集设置:
df = pd.DataFrame({"B": [list(range(1,11)), list(range(11,21))], "col1":["a", "b"], "col2":["c", "d"]})
df[df["B"].apply(lambda x: 10 in x)]
# B col1 col2
# 0 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] a c