python太灵活,api太多,还很简洁。能记住一个是一个。那开始吧。

********************************************************************************************
DataFrame.drop_duplicates, 删除DF中,某列或某几列存在相同值的行(可以留重复的第一行,或最后一行,或都不留)
subset中是目标key的list(list中如果有多个key,必须多个key同时满足),取与删除,keep表示留的对象,可以留最后一个,或第一个或都不留
inplace为true表示原DF也跟着改变了
http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.drop_duplicates.html
********************************************************************************************

df1 = pd.DataFrame({
        'uid':[2331024, 19851024, 19880610, 2331024],
        'values':np.random.randint(10, 12, 4)
})

df2 = df1.drop_duplicates(subset=['uid', 'values'], keep='last', 
               inplace=False) print df1 print df2
#输出
        uid  values
0   2331024      10
1  19851024      10
2  19880610      10
3   2331024      10
        uid  values
1  19851024      10
2  19880610      10
3   2331024      10

********************************************************************************************
Series.value_counts, 取Series中相同值的个数Series.nlargest, 取Series中最大的前几行
********************************************************************************************

s = pd.Series(np.random.randint(100, 104, 5))
t1 = s.value_counts(sort=False)
t2 = t1.nlargest(2)
print t1
print t2
#输出
100    1
101    1
102    1
103    2
dtype: int64
103    2
100    1
dtype: int64

********************************************************************************************
np.intersect1d,取两个list中,交集的部分。第三个参数为True时,保留重复的对象。返回的是一个np的array对象
https://docs.scipy.org/doc/numpy/reference/generated/numpy.intersect1d.html
********************************************************************************************

array = np.intersect1d([3, 2, 9], [1, 3, 4, 3, 5, 8, 3, 2], 
              assume_unique=True) print array
#输出
[2 3 3 3]

********************************************************************************************
Series.unique, 删除Series中重复的值,返回np的array对象
********************************************************************************************

s = pd.Series(np.random.randint(10, 14, 6))
t1 = s.unique()
print s
print t1
#输出
0    13
1    13
2    12
3    12
4    11
5    12
dtype: int32
[13 12 11]