2016-07-24 54 views
0

原始數據幀:如何在只使用value_counts選擇()的行返回原始數據幀

from pandas import Series, DataFrame 
import pandas as pd 
%pylab inline 

df=pd.read_csv('NYC_Restaurants.csv', dtype=unicode) 

original df

我使用的掩模,以分離出所需的行(那些僅出現一次在列)

mask = df['DBA'].value_counts()[df['DBA'].value_counts() == 1] 

其產生預期的結果

但是,使用df[mask]會產生一個奇怪的數據幀,第一列重複多次;相對於回饋原始數據幀只與選擇的行

Output from using mask

+1

你可以添加代碼來初始化你的數據框嗎? –

+1

請不要使用PNG的數據或表格。 – Merlin

+0

from pandas import系列,DataFrame 將pandas導入爲pd %pylab inline df = pd.read_csv('NYC_Restaurants.csv',dtype = unicode) –

回答

0

代替使用value_counts();我用groupby提供了我正在尋找的東西。

mask = df.groupby("DBA").filter(lambda x: len(x) == 1)