我有一個數據框,其中user_id存儲爲HDFStore中的索引frame_table。在這個HDF文件中也是另一個用戶帶着動作的表格。我想抓住1%用戶採取的所有行動。其過程如下:通過使用where索引從索引HDFStore中選擇行
#Get 1% of the user IDs
df_id = store.select('df_user_id', columns = ['id'])
1pct_users = rnd.sample(df_id.id.unique(), 0.01*len(df_id.id.unique()))
df_id = df_id[df_id.id.isin(1pct_users)]
現在我想回去拿所有的描述從frame_tables採取這些用戶的行爲相同建立索引df_user_id的附加信息。按照this example和this question我也做了以下內容:
1pct_actions = store.select('df_actions', where = pd.Term('index', 1pct_users.index))
這僅僅提供了一個空的數據幀。事實上,如果我在之前的熊貓文檔中複製並粘貼示例,我也會得到一個空的數據框。最近大熊貓的Term
有什麼變化?我是熊貓0.12。
我沒有被綁定到任何特定的解決方案。只要我可以從df_id表(快速)查找hdfstore索引,然後直接從其他框架表中提取這些索引。
完美的答案。我誤解了where參數的格式,並沒有意識到它需要像這個座標那樣結構化。我認爲它可能是一個鬆散的定義,作爲一個數組,列表等進行提供......感謝您清除它。 – cwharland
如果能夠成爲0.13中的列表/數組。 – Jeff