datefram学习(持续更新)

 1 # -*- coding:utf-8 -*-
 2 # @Time  : 2021/9/15:10:56
 3 # @Author: gujian
 4 # @File  : datefram 数据表操作.py
 5 
 6 ''' #查看数据表结构类型
 7 df.info()
 8 df.dtypes
 9 '''
10 
11 
12 ''' #左联
13 all_sdate = pd.merge(date_list_1, date_list_2, left_on=['姓名','邮件ID'], right_on=['姓名','邮件ID'], how='left')
14 '''
15 
16 ''' #重新建立索引
17 all_sdate.reindex(columns = ['邮件ID'])
18 '''
19 
20 ''' #删除某一列
21 all_sdate.drop('批复日期_y',axis=1,inplace=True)
22 del df['销售辅助']
23 '''
24 
25 ''' #复制到剪切板
26 all_sdate.to_clipboard(sep=',', index=None) 
27 '''
28 
29 ''' #写入到excel
30 all_sdate.to_excel(pathfile, encoding='utf_8_sig', index=None)
31 '''
32 
33 ''' #为某行某列修改或增加数据
34 list.loc[pcount,'报备日期'] = data
35 '''
36 
37 ''' #创建一个空的datefram
38 list = pd.DataFrame(columns=['邮件ID','姓名','报备日期'])
39 '''
40 
41 ''' #查询sql并返回结果datefram格式
42 df = pd.read_sql(sql_text, con=con)
43 '''
44 
45 ''' #帅选某些符合的行
46 all_sdate = all_sdate[all_sdate['批复日期'].isin(['2021-09-15'])]
47 df = df[(df['创建时间'] > startDate) & (df['创建时间'] < endDate)]
48 '''
49 
50 ''' #重新选择某些列
51 result = result.reindex(columns=[u'courseId', u'teacherName', u'courseDate', u'courseName', u'beginTime', u'attendNum'])
52 '''
53 
54 ''' #行列转换
55 result = result.drop_duplicates().T.drop_duplicates().T
56 '''
57 
58 ''' #数据表的合并5中
59 @1、append纵向合并追加————all_course = all_course.append(dfdate, ignore_index=True)
60 @2、merge类似于关系数据库的链接————all_sdate = pd.merge(date_list_1, date_list_2, left_on=['姓名','邮件ID'], right_on=['姓名','邮件ID'], how='left')
61 @3、combine使用函数按列合并————
62 @4、concate横向和纵向的合并————
63 @5、join基于索引的链接合并————
64 '''
65 
66 ''' #使用匿名函数
67 all_course['课程类型'] = all_course.apply(lambda x: fum_allcourse(x), axis=1)
68 all_course['听课时长'] = all_course['停留时间'].apply(lambda x: pd.to_datetime(x).hour * 3600 + pd.to_datetime(x).minute * 60 + int(pd.to_datetime(x).second))
69 '''
70 
71 ''' #重命名
72 all_course.rename(columns={'courseId': 'fuzhu', 'teacherName': '排课老师', 'courseDate': '日期'}, inplace=True)
73 '''
74 
75 ''' #删除符合某些的行
76 all_course.drop(index=(all_course.loc[(all_course['分享人263'] == 'test')].index))
77 '''
78 
79 ''' #插入数据库
80 df.to_sql(name='eightcorpus_intention', con=con, if_exists='append', index=False)
81 name:数据表名称
82 if_exists:添加方式,append为追加,replace替换,fail不做任何操作
83 index:索引是否作为一列插入数据库中
84 '''
志同道合一起学习,欢迎加入QQ群:878749917
原文地址:https://www.cnblogs.com/gujianjian/p/15293704.html