标签:diaoyan 全称 excel 笔记 学习 str 资方 pandas orgin
1、筛选用法 loc、where• orgin_excel.loc[(orgin_excel['投资时间'].astype(str) <'2020-10-01')&(orgin_excel['数据状态'].isnull())&(orgin_excel['数据源'].str.contains('调研')),'数据状态']='删除' • orgin_excel['删除理由']=np.where((orgin_excel['数据状态'] =='重复删除'), '问卷填写重复',orgin_excel['删除理由']) • diaoyan_money234.loc[:,'New_ID_x']=diaoyan_money234['New_ID_x'].reindex_like(diaoyan_money234['New_ID_y'])
• df.query('column1 > 2 and column 2<1') • DataFrame.filter(items=None, like=None, regex=None, axis=None) • df1=df.groupby('district').filter(lambda x: x['age'].mean()>20) 结果会将所有age>20的district的行选掉,返回所有其他值。 2、去重用法
• orgin_excel['数据状态']=np.where(orgin_excel.duplicated(subset=['排名用全称','受资方全称','投资时间','基金全称','投资币种','投资金额(M)','数据源'],keep='first') &(orgin_excel['数据源'].str.contains('调研')), '重复删除',orgin_excel['数据状态']) 用法:DataFrame.duplicated(subset=None, keep='first')
• orgin_res2 = orgin_res1.groupby(['排名用全称','受资方全称','投资时间_x']).filter(lambda x: len(x) > 1)
3、字符转换 整列转字符: orgin_excel['New_ID']=orgin_excel['New_ID'].map(str) 时间转整型 orgin_res1=orgin_res.loc[(orgin_res['投资时间_x']-orgin_res['投资时间_y']).astype('timedelta64[D]').astype(float).abs()<=90]
4、去重取条数 groupby count • diaoyan_org_row=orgin_excel.loc[(orgin_excel['数据源'].str.contains('调研'))&(orgin_excel['数据状态'].isna())].groupby(['排名用全称','受资方全称','投资时间']).agg({'New_ID': ','.join,"条数" : "size"})
• diaoyan_org_list=orgin_excel.loc[orgin_excel['数据源'].str.contains('调研') & orgin_excel['数据状态'].isnull()==True].groupby(['排名用全称','受资方全称','投资时间']).size().reset_index(name='counts')
1. count:size 2. Groupby concat :.agg({'New_ID': ','.join} 3. Count 列重命名 .size().reset_index(name='counts')
5、关联
• orgin_rows=pd.merge(diaoyan_row_org1,simutong_row_org1,on=['排名用全称','受资方全称'],how='inner') 用法:pd.merge(DateFrame1,DateFrame2,on = ' ',how = ' ')
关联并取自己想要的字段 • diaoyan_jijin=pd.merge(orgin_excel,diaoyan_org_jijin,on=['New_ID','排名用全称','受资方全称','投资时间'],how='inner')[['排名用全称','受资方全称','投资时间','条数_y','New_ID','基金全称']] 关联并重置索引 • orgin_jijin=pd.merge(diaoyan_jijin,simutong_jijin,on=['排名用全称','受资方全称','条数_y'],how='inner').reset_index()
6、包含 contains 单个字段值包含某个字符串 orgin_money2['来源详情'].str.contains('问卷') 取反 orgin_money2['来源详情'].str.contains('问卷')==False
Isin • new = data["Gender"].isin(["Male"])
用法:DataFrame.isin(values) (可整列使用)
7、空值处理 • 增加一列空值 orgin_excel['数据状态']=None • 筛选空值 1. Isna() isnull() 2. notna() notnull()
特别想说 刚学习pandas的时候 什么也不会 连怎么取两列都不知道 在此特将方法贡献给和我一样的小菜鸟们 XX[['me','you']]
标签:diaoyan,全称,excel,笔记,学习,str,资方,pandas,orgin 来源: https://www.cnblogs.com/mollyliu/p/15357345.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。