python 妙用技法(保持不定时更新)

一、注释

1.命令行模型下:

                         按esc  + 1: heading 1 效果 ;

                         按esc  + 2: heading 2效果 ;

                         按esc  + 3: heading 3效果 ;

                         按esc  + 4: heading 4效果 ;

                         按esc  + 5: heading 5效果 ;

                         按esc  + 6: heading 6效果 ;

2.print('-' * 50, 'Get all rows except header')  50个短横线分割

二、数据处理

 1.分组处理联写

tmp = df_farm.groupby('ID').agg( {'test01': [np.sum, np.average, pd.Series.idxmax],'test02': [np.sum, np.average],'test04': [np.average],'test05': [max, np.average]}).reset_index().round(0)

2.分组处理合并一二级索引

tmp.columns = tmp.columns.map('{0[1]}_{0[0]}'.format)

3.一列拆分为多列

df1 = df.drop("标签",axis=1).join(df['标签'].str.split(',',expand=True).stack().reset_index(level=1,drop=True).rename('标签'))

4.单元格中是否包含多个字符

check = ['test01','test02']

tmp = session_df[session_df.apply(lambda col: col.str.contains('|'.join(check))).any(axis=1)]
5.百分比取整
sig_d_df['test'] = (sig_d_df['test01']/sig_d_df['test02']).map(lambda x: format(x,'.0%'))

6.判断某个变量处于某个范围

df = df[df['length'].between(6, 8)]

7.利用round函数可进行四舍五入
df['diff_time'] = round(df['diff_time'])

8.字符中有空值转数字型

df_farm['test'] = pd.to_numeric(df_farm['test'], errors='coerce')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值