pandas基础:DataFrame(三)

1.pandas.DataFrame加减运算,遇Nan结果全部为Nan
df1.add(df2,fill_value=0) #出现Nan值填充为0
2.pandas.DataFrame和pandas.Series运算,如无指定按行运算,DataFrame的每一行分别与Seires进行运算
frame = pd.DataFrame(np.arange(12.).reshape((4, 3)),
columns=list('bde'),
index=['Utah', 'Ohio', 'Texas', 'Oregon'])
series3 = frame['d']
frame.sub(series3, axis='index') #指定运算的为按照列进行运算

3.pandas运算
#apply(f,axis=0):,对一行或一列元素使用函数f(abs,sum)
#applymap: 对每一个DataFrame元素实施运算
#map:对每一个Series元素进行运算
#pandas排序
4.按照索引进行排序
obj.sort_index(axis=0,ascending=True) #按照行索引排序,升序
obj.sort_index(axis=1,ascending=False)#按照列索引排序,降序
5.按照值进行排序
obj.sort_values(axis=1) #按照值进行排序
obj.sort_values(by='a')#按照DataFrame的a列进行排序
obj.sort_values(by= ['a','b'])#按照DataFrame的a列排序,a列相同的按照b列排序
6.按照值进行排序,返回值对应的顺序
obj.rank() #相同值的按照平均值
obj.rank(axis= 0,method='first',ascending=False)#遇到相同值时第一个排在前面,按照行进行排序,降序
7、判断索引值是否重复
obj.index.is_unique
8.统计计算
obj.sum()#所有元素相加
obj.sum(axis=1)#所有行元素相加
obj.cumsum()#累加
obj.descirbe()#描述Series或DataFrame的基本信息
obj.A.corr(obj.B)#求A,B列两列的相关系数
obj.A.cov(obj.B)#求A,B两列的协方差
8.去除重复值
obj.unique()
9.统计值的个数
obj.value_counts()
pd.value_counts(obj,sort=False)
10.判断是否包含在一个列表中
obj.isin(['a','b'])#生成一个boo类型的相同结构Series或DataFrame
11.获取索引位置
to_match = pd.Series(['c', 'a', 'b', 'b', 'c', 'a'])
unique_vals = pd.Series(['c', 'b', 'a'])
pd.Index(unique_vals).get_indexer(to_match) #get_indexer获取索引位置array([0, 2, 1, 1, 0, 2], dtype=int64)

posted @ 2017-12-14 21:10  tutu_python  阅读(276)  评论(0)    收藏  举报