IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> Python-Pandas-Excel/CSV 数据处理大全整理 (四) -> 正文阅读

[人工智能]Python-Pandas-Excel/CSV 数据处理大全整理 (四)

本文主要针对Python处理Excel & CSV文件的应用。所有代码均实例化代入且逐条备注解释。

全文逐条手工输入整理,可能会产生错误之处,还请指正。

之后会陆续整理 “爬虫” 与 “金融量化分析” 两个文档

# ? --------------------------------------------------------------------------------------------

代码格式规范与排版:

#?代码下方出现波浪线表示代码输入的不规范,但依旧可正常执行代码。

#?如格式不清楚是否规范,可通过复制黏贴可运行的代码至空白处,系统会自动修正代码格式。

或Ctrl+Alt+L,直接将代码格式化


一、空行:
1. import语句上下保留两个空行
2. def函数声明上方保留两个空行
3. class类声明上方保留两个空行
4. def方法声明上方保留1个空行
5. 2个逻辑代码块之间保留1个空行

二、空格:

#?为方便阅读,以下用^代替空格
1. 赋值符号前后各保留一个空格? ? ? ? ? ? ? ? ? ? ? ? ? ?# 例:?a^=^10
2. 所有二元运算符和数字之间用空格分开 ???????????# 例:?a^+=^c^+^d
3. (),[],{} 括号内无空格? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? # 例: 合计=pd.concat([数据.总计])
4. 逗号、冒号、分号前面无空格,后面有一个空格 ?????# 例:???print(x,^y)
5. 参数列表、索引、切片的左括号前无空格? ? ? ? ? ? ? ? # 例:???list[index]

三、缩进:
4个空格为一个缩进级别

四、断行:
1. 在逗号后面断开
2. 在运算符号前面断开

五、数字类型分类:

int ????   整数类型 ?????????# 例:?1
float ?   ?浮点类型 ?????????# 例:?1.0
complex    复数类型 ?????????# 例:?1+2j ?(1为实部,2为虚部)
bool ???   布尔类型 ?????????# 例:仅False/True两个值

六、运算符分类:
1.算数运算符:

+ ? 加 ????# 1+2=3 ?or 'Hello'+'World'='HelloWorld' ???数字类型之间为求和,其他类型之间为连接符
-?? 减 ????# 2-1=1
*  ?乘 ????# 2*3=6 ?or?'Hello'*2='HelloHello' ??????数字类型之间为求积,其他类型之间为重复操作
/ ? 除 ?????????# 2/1=2
% ? 取余 ???????# 3%2=1
//  取整 ???????# 3//2=1 ?or -3//2=-2 ???求小于a/b的商的最大整数
**  幂(次方) ???# 10**2=100

2.关系运算符:

== ??   等于 ?????? ???# a等于b时,返回True,否则False
!= ??   不等于 ????????# a不等于b时,返回True,否则False
> ???   大于
< ???   小于
>= ?   ?大于等于
<= ?   ?小于等于

3.逻辑运算符:

not ?  ?非 ????????# a为True,返回False,a为False,返回True
and ?  ?与 ????????# a,b全为True,返回True,否则False
or ??  ?或 ????????# a,b一者及以上为True,返回True,否则False

4.赋值运算符:

+= ??? ??a+=b ???>> ??a=a+b
-= ???? ?a-=b ???>> ??a=a-b
*= ???? ?a*=b ???>> ??a=a*b
/= ???? ?a/=b ???>> ??a=a/b
%= ??? ??a%=b ???>> ??a=a%b
**= ?? ??a**=b ??>> ??a=a**b
//= ?? ??a//=b ??>> ??a=a//b
&= ???? ?a&=b ???>> ??a=a&b
》= ?????a》=b ? ?>> ??a=a》b
《= ?????a《=b ? ?>> ??a=a《b

5.位运算符:

~ ????位反
& ????位与
| ????位或
^ ????位异或
》 ???右移
《 ???左移

七、运算符优先级:

() ???????????小括号
def() ????????函数调用
[],[] ????????切片
[] ???????????下标
. ????????????引用类成员
** ???????????幂
~ ????????????位反
+,- ??????????正负号
*,/,% ????????乘,除,取余
+,- ??????????加,减
《,》 ?????????位移
& ????????????位与
^ ????????????位异或
| ????????????位或
not ??????????非
and ??????????与
or ???????????或
lambda() ?????Lambda表达式
in,not in,is,is not,<,<=,>,>=,<>,!=,== ?????????比较

八、控制语句:
1.分支语句

1.1 ?if结构:   
???
    if score >= 85:
????????print('优秀')
????if score < 60:
????????print('加油')
????if (score >= 60)and(score <= 85):
????????print('努力')

 # 条件计算为True,则执行语句;否则执行if后面语句?
1.2 ?if-else结构:

????if score >= 60:
????????print('及格')
????????if score >= 90:
????????????print('优秀')
????else:
????print('不及格')

# 先判断if条件,如果True,则执行语句1,然后跳过else语句及语句组2;
               如果False,则跳过语句1,执行语句2
1.3 ?elif结构:

????if score >= 90:
????????grade='A'
????elif score >= 80:
????????grade='B'
????elif score >= 70:
????????grade='C'
????else:
????????grade='F'
????print('Grade='+grade)

# 为if-else结构的多层嵌套,只执行if条件中的某一个语句

2.循环语句

2.1 while语句:

????i=0
????while i*i<100
????????i+=1
????print('i={0}'.format(i))
????print('i*i={0}'.format(i*i))

# 循环次数无限制,只要满足条件则循环
2.2 for语句:

for item in 'Hello':
????print(item) ?????????                 ?
# 输出:H e l l o

for item in range(1,10,2) ????????????    ?# 1代表开始值,10代表结束值?2代表步长
????print('Count is:{0}'.format(item)) ??  
# 输出:Count is:1 ??Count is:3 ??Count is:5 ??Count is:7 ?Count is:9

# 用于序列循环,序列包括字符串,列表,元组

3.跳转语句

3.1 break语句:

????for item in range(5)
????????if item == 3
????????????break
????????print('Count is:{0}'.format(item)) ????
# 输出:Count is:0 ??Count is:1 ??Count is:2

# 强行退出循环体,不再执行剩余语句
3.2 continue语句:

????for item in range (5)
????????if item == 3
????????????continue
????????print('Count is:{0}'.format(item)) ?????
# 输出:Count is:0 ??Count is:1 ??Count is:2 ??Count is:4

# 跳过if目标语句,执行循环体

九、常见异常:

1. AttributeError异常:访问一个类中不存在的元素(包括:成员变量、属性、成员方法)
2. OSError/IOError/FileNotFoundError异常:操作系统相关异常(例:”未找到文件“或”磁盘已满“)
3. IndexError异常:访问序列元素时,下标索引超出取值范围(例:序列中共4个元素,要访问第5个元素时会弹出该异常)
4. KeyError异常:访问字典里不存在的键
5. NameError异常:使用一个不存在的变量
6. TypeError异常:传入的变量类型与要求不符
7. ValueError异常:传入一个无效的参数值

十、日期的计算:
# datetime 表示时间和日期?;??date 表示日期?;?time 表示一天内的时间?; timedelta 表示时间差

import datetime as 日期模块:
def 累加月(日期,传入的月份):
????年=传入的月份//12
????传入的月份=日期.month+传入的月份%12
????if月!=12:
????????年=年+月//12
????????月=月%12
????return 日期模块.date(日期.year+年,月,日期.day)
起始日期=日期模块.date(2020,05,26)

for i in 数据.index:
????数据['日期'].at[i]=起始日期+日期模块.timedelta(days=i) ????
# 例:2020.05.26 ??2020.05.27 ??2020.05.28
????数据['日期'].at[i]=日期模块.date(起始日期.year+i,起始日期.month,起始日期.day) ?????
# 例:2020.05.26 ??2021.05.26 ??2022.05.26
????数据['日期'].at[i] =累加月(起始日期,i) ??????????????
# 例:2020.05.26 ??2020.06.26 ??2020.07.26

print(datetime.datetime.today()) ?????
#?输出:?2021-10-13 16:02:56.794003
# ?返回当前本地日期和时间 ???

print(datetime.datetime.now()) ????
#??输出:??2021-10-13 16:02:56.794003
# ?返回当前本地日期和时间 ????

print(datetime.datetime.utcnow()) ??
# 输出:?2021-10-13 08:02:56.794003
# ?返回当前UTC日期和时间 (UTC时间与北京时间差8个小时)

print(datetime.datetime.fromtimestamp(999999999.999)) ???????
# 输出:??2001-09-09 09:46:39.999000
# 返回与UNIX时间戳对应的本地日期和时间 ?????

print(datetime.datetime.utcfromtimestamp(999999999.999)) ???
#?输出:??2001-09-09 01:46:39.999000
# 返回与UNIX时间戳对应的UTC日期和时间 ??????

print(datetime.date(2021,10,13)) ???????
#?输出:2021-10-13
# 表示日期信息 ?????????????

print(datetime.time(23,59,58,1999)) ?????
#?输出:23:59:58.001999
# 表示一天中的具体时间信息 ????

print(datetime.timedelta()) ??????????????
# 计算日期间的差异
  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-10-28 12:23:44  更:2021-10-28 12:24:38 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 8:47:32-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码