2016-07-28 8 views
0

Iは数値の範囲の列を有するデータフレームを有しており、そのデータ範囲の列を持つデータフレーム。数が

[1, 2, 3, ..., 10] | a | b 
[11, 12, 13, 14, ...] | c | d 

の複数の列は、私は選択しない方法等10、14、等数所与の発生数、行選択所与その数が範囲内にある行、つまり10の場合は、[1, 2, 3, ..., 10] | a | b行が返されます。

は、これまでのところ、アイブ氏は'B'が範囲を持つ列で、'A'がデータフレームである、dfsは、データフレームの辞書ですdfs['A'].ix[10 in dfs['A']['B']]を試してみました。

どうすればよいですか?

答えて

1

カラムBをループするために使用applyとサブセットの論理インデックス戻り個別要素チェック:

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 
1
df = pd.DataFrame({'ranges':[range(11), range(11,20)], 'dat1':['a','c'], 'dat2':['b','d']}) 
mask = df.ranges.apply(lambda x: 10 in x) 
df.ix[mask] 
関連する問題