针对datafrme主要操作公式梳理~为了方便阅读,这里的datafrme都赋值为a1,a2这样的形式;

这里对透视举个案例~

【python】datafrme主要操作公式

【python】datafrme主要操作公式

 整体命令表格如下~

表格处理 案例
保留正确的 案例:a2=a1[a1['学校']=='A']
去除不对的 案例1:a2=a1[(a1.成绩!=0)]
案例2:a2=a1[(a1.学校!='A')&(a1.学院!='D')&(a1.专业!='G')]
列合并 案例:a1['学校学院'] = a1['学校'].map(str) + a1['学院'].map(str)
增加1列 案例1:a1.insert(0,'数量',1)
案例1:a1.insert(5,'状态','此人已毕业')
改列名字 案例:a1.columns=['专业','学号']
单列改名字 案例:a1.rename(columns={'原列名':'新列名'}, inplace=True)
表纵向叠加(1列1样) 案例:a4=a1.append([a2,a3])
表横向加1列,vlookup 案例:a3=pd.merge(a1,a2.loc[:,['学号','姓名']],how='left',on='学号')
整体去重 案例:a2=a1.drop_duplicates(keep=False)    #重复文本去重  'frist' 、 'last'、'False',保留第1个,保留最后1个,不保留
单列去空值 案例:a2=a1.dropna(subset=['姓名'])
数据透视 案例:a2=pd.pivot_table(a1,index=[u'学校',u'学院'],columns=[u'专业'],values=[u'成绩'],aggfunc='mean',fill_value=0,margins=False)#行+列透视,np.sum为求和,'mean'为平均数
添加逻辑列 案例:a2=a1.eval('新列名=列1-列2')#可实现数字简单运算
排序 案例:a1.sort_values(by='比例',ascending=False)
空值填充 案例:a2=a1.fillna(method='ffill',axis=0)   #fillna和ffill 向下填充
列分列 案例:
a2=a1['列名'].str.split(':', expand=True)  #分列命令,按照:分列
pd.concat([a1, a2], axis=1) #返回原来位置
转置 案例:a2 = pd.DataFrame(a1.values.T, index=a1.columns, columns=a1.index)
内容替换 案例:a1.replace(0,"nan")
列求和 案例:a1.loc['合计'] = a1.apply(lambda x: x.sum())
行求和 案例:a1['Col_sum'] = a1.apply(lambda x: x.sum(), axis=1)
删除列 案例:a1.drop(columns=['列名1','列名2'], inplace=False)
获取datafrme列名,变为列表 案例:a2=a1.columns.values.tolist()
保留前几行 案例:a2=a1.head(2)
单列求和赋值 案例:a2=a1['数量'].sum()
获取datadataframe单值 案例:a2=a1.at[2, '比例']#比例列,第3个,编号0,1,2
组合为dataframe 案例:a2= pd.DataFrame([[b1], [b2], [b3]],index=[a1.at[2, '姓名'], a1.at[3, '姓名'],a1.at[4, '姓名']],columns=['分数'])

 

相关文章:

  • 2022-02-04
  • 2022-12-23
  • 2022-12-23
  • 2021-10-20
  • 2021-11-27
  • 2021-12-03
  • 2021-08-13
  • 2021-07-23
猜你喜欢
  • 2021-06-12
  • 2021-11-11
  • 2021-06-12
  • 2021-10-28
  • 2021-06-23
  • 2022-12-23
相关资源
相似解决方案