2017-08-06 143 views
0

我試圖根據預定義數組的內容篩選數據框。Python熊貓 - 基於預定義數組篩選數據框

我在StackOverflow上查找了幾個例子,但只是得到一個空輸出。

我無法弄清楚我做錯了什麼。我可以在這裏尋求一些指導嗎?

import pandas as pd 
import numpy as np 

csv_path = 'history.csv' 
df = pd.read_csv(csv_path) 

pre_defined_arr = ["A/B", "C/D", "E/F", "U/Y", "R/E", "D/F"] 
distinct_count_column_headers = ['Entity'] 

distinct_elements= pd.DataFrame(df.drop_duplicates().Entity.value_counts(),columns=distinct_count_column_headers) 
filtered_data= distinct_elements[distinct_elements['Entity'].isin(pre_defined_arr)]  

print("Filtered data ... ") 
print(filtered_data) 

輸出

Filtered data ... 
Empty DataFrame 
Columns: [Entity] 
Index: [] 
+0

向我們展示一些數據... –

+0

謝謝斯蒂芬。欣賞你的幫助意願。管理最終解決。 – usert4jju7

回答

0

託管於使用filter功能 - >.filter(items=pre_defined_arr)

import pandas as pd 
import numpy as np 

csv_path = 'history.csv' 
df = pd.read_csv(csv_path) 

pre_defined_arr = ["A/B", "C/D", "E/F", "U/Y", "R/E", "D/F"] 
distinct_count_column_headers = ['Entity'] 

distinct_elements_filtered= pd.DataFrame(df.drop_duplicates().Entity.value_counts().filter(items=pre_defined_arr),columns=distinct_count_column_headers) 

很奇怪的是,這裏只有一個答案,我對撞表明filter功能。差不多有9個人在那裏談論.isin功能,這在我的情況下不起作用。