2015-02-24 30 views
-3

我有一個像d1這樣的數據集。如何篩選python中的數據

import pandas as pd 
d1 = { 
'customers': pd.Series([1, 1, 1, 2, 2, 3, 3, 4, 4]), 
'channel': pd.Series(['a', 'a', 'b', 'c', 'a', 'a', 'b', 'b', 'c']), 
'freq': pd.Series([3, 3, 3, 2, 2, 2, 2, 2, 2]) 
} 
d1=pd.DataFrame(d1) 

我想獲得僅使用兩個不同頻道並且頻道'a'是強制性的客戶列表。

對於離..第一客戶已經使用了兩個不同的信道
第二客戶曾使用使用 'A' & 'B' 的 'A' & 'c' 的第三客戶 '一' & 'B'。但是客戶4還沒有使用頻道'a'等等......

回答

0

這是你想要的嗎?

d1[d1.customers.isin(d1[(d1.freq==2) & (d1.channel=="a")].customers)] 

    channel customers freq 
3  c   2  2 
4  a   2  2 
5  a   3  2 
6  b   3  2 

HTH

+0

號頻率= 2所表示,客戶將有兩個記錄。在這兩條記錄中,至少有一條記錄應位於頻道「a」中。 – kondal 2015-02-24 12:48:16

+0

這不是你的數據框包含的內容。 – 2015-02-24 12:49:16

+0

我不明白。沒有專欄「記錄」。請更改您的問題,併發布您想要的更精確的輸出。 (並根據需要糾正輸入) – jrjc 2015-02-24 12:52:59