前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python 学习小笔记

Python 学习小笔记

作者头像
vincentbbli
发布2021-08-18 14:35:00
9750
发布2021-08-18 14:35:00
举报
文章被收录于专栏:vincent随笔

这是我在入门Python的时候边学边记的一些小笔记

字符串

字符串不能被更新

数据集

里面的元素都可以是不同数据类型的 都可以被索引和切片 查看一个变量的数据类型使用type(obj)方法 如type(tup1)

列表

列表使用[]括起来,里面的元素可以是不同数据类型的,中间用逗号隔开 列表可以被更新 listA=[1,2,3,4,5]

元组

元组使用()括起来,元组不可以被更新 tup1 = (‘Google’, ‘Runoob’, 1997, 2000); tup2 = (1, 2, 3, 4, 5 ); tup3 = “a”, “b”, “c”, “d”; 不允许删除单个元素,但是可以删除整个元组 如果元组只有一个元素,元素后要加上逗号,否则括号会被当成运算符: tup1=(550,);

集合

使用{}或者set()来创建集合,但是空的集合只能用set()来创建,{}这样子是创建一个空字典 使用集合这种数据集类型主要是为了去除重复元素

去重:

代码语言:javascript
复制
students=['a','b','a','d']
set(students)

集合的运算:a={2,2,3,4} b={2,3,4,5} 交集:a&b 并集:a|b 差集:a-b 只有a或b存在的元素:a^b 可以理解成a|b-a&b

字典

字典中的元素是使用键值对存储的,通过键来访问,而不是通过下标和偏移量 使用{}来创建字典 students={'ali':2204,'bob':3445}

位运算

位运算符:<< >> & | ^ 如果对整数采用位运算符,默认是将整数作为二进制运算的

代码语言:javascript
复制
 a=3
 a<<3
 print(a)

 '''将会输出24'''

逻辑运算符

and or not Python的判断语句不支持&& 和 ||

成员运算符

in not in 可以判断元素是否是数据集的成员

身份运算符

is is not 可以判断引用的是不是同一对象

字符串

可以用’string’ 或者 "string"来表示一串字符串

字符串重复:

代码语言:javascript
复制
a="string";
a=a*2; 
print(a)

就会输出stringstring

python中字符串格式化的用法和C中一样

end

end一般用于print语句中,用于将结果输出到同一行,或者在输出末尾添加不同的字符

逻辑分支

Python没有switch case 语句 实例:

代码语言:javascript
复制
if a>0:
    statment1
elif a=0:
    statment2
else:
    statment3

循环

都可以使用break关键字跳出循环

while语句

代码语言:javascript
复制
while a>0:
    statments
    statments1

Python没有do while循环 while循环加上else语句 当不满足while循环的条件时执行else语句

for 循环语句

for 循环可以遍历任何一个序列,包括列表,元组和字符串

代码语言:javascript
复制
for x in list:
    statement
else:
    statement2

range函数

遍历数字序列 例如:

按顺序遍历
代码语言:javascript
复制
for x in range(5)
    print(x)

这样会输出 0 到 4

遍历其中一个段
代码语言:javascript
复制
for x in range(5,8)
    print(x)

这样会输出 5 到 7 注意是左闭右开,跟列表截取的规则是一样的

设定增量
代码语言:javascript
复制
for x in range(1,10,3)
    print(x)

这样会输出1,4,7,9 也就是每个数字之间相差3

pass 语句

不做任何事情的一个语句,相当于一条空语句

模块

一个模块就是一个.py文件,里面可以定义一些常用的函数或者变量 导入的模块应该在当前代码目录或者在sys.path所定义的目录中

from [module] import [function]

从指定模块导入某个或某些函数 包是模块的集合

格式化输出

str.format() 的基本使用如下: >>> print(’{}网址: “{}!”’.format(‘菜鸟教程’, ‘www.runoob.com’)) 菜鸟教程网址: “www.runoob.com!” 括号及其里面的字符 (称作格式化字段) 将会被 format() 中的参数替换。 在括号中的数字用于指向传入对象在 format() 中的位置,如下所示: >>> print(’{0} 和 {1}’.format(‘Google’, ‘Runoob’)) Google 和 Runoob >>> print(’{1} 和 {0}’.format(‘Google’, ‘Runoob’)) Runoob 和 Google

大括号里面可以是参数序列,也可以是参数关键词

定义: calss A (): 类的实例: a=A() 注意不使用new关键字

构造方法

_init_(arg1,arg2,……) public属性、方法 直接名称,通过className.attributeName可以访问到 private属性、方法(两个下划线开头) __privateAttr

方法

类的方法里面第一个参数要为self,是this的意思

继承

类B继承于类A: class B(A): 多继承: class X (A,B,C,D,……):

数据处理总结

seaborn包是用来作数据可视化的,跟matplotlib搭配使用 读取CSV文件一般import进pandas包然后用data=pandas.read_csv(‘filename’,header=0)来读取 返回值是一个dataframe类型的 filename可以使用相对路径,表示当前目录可以写’./train.csv’ header=0表示第0行是标题 寻找数据集中缺失的数据可以用data.isnull() 缺失总数用data.isnull().sum()来统计

dataframe:(假设保存的数据集名为data)

寻找数据集中缺失的数据

可以用data.isnull() 缺失总数用data.isnull().sum()来统计 调用data.isnull()的话会得到一个列表,列表里面只有TRUE 和 FALSE,如果该值是空那就是TRUE

寻找每一种数据的出现次数

用data[‘name’].value_counts() 针对ordinary、norminal、binary可用

对数据分组进行计算,比如计算分组的平均数等

有点类似于数据库中的groupby计算,涉及至少两列数据,用法有两种(例 要对列A根据列B进行分组并计算平均值)

代码语言:javascript
复制
1. 先访问单独列A,对它进行.groupby(B).mean()        >>>data['A'].groupby(['B']).mean()
2. 对整个dataframe进行groupby,然后访问列A的mean()  >>>data.groupby(['B'])['A'].mean()
dataframe中axis的意义

这里有一篇博客说的很详细

使用0值表示沿着每一列或行标签\索引值向下执行方法 使用1值表示沿着每一行或者列标签模向执行对应的方法

定位符合某个条件的数据(在处理缺失数据时十分有用)

data.loc[行条件,列条件] data.loc[data[‘Age’]50,‘Survived’]=1 #将所有年龄为50岁的乘客的存活情况设置为1(行条件为Age50,列条件为列标签是Survived) 如果要修改筛选出来的数据,只能用data.loc[条件]=xxx的方法

根据条件筛选数据

data[data.Survived== 0 ].Age 筛选Age列中Survivied为0的元组 下面举三个例子 >>>data[1,‘b’]=3 将列标签为b的第2行数据替换为3 >>>data[data.age.isnull(),‘Age’]=34 将列标签为Age的空数据全部替换为34 >>>data[data.Survived==1] 显示所有符合data.Survived的值是1的数据(包括其他属性的)

替换数据

方法DataFrame.replace(to_replace=None, value=None, inplace=False, limit=None, regex=False, method=‘pad’, axis=None) 其中,将要被替换的to_replace和value可以是用列表和元组表示的数据集,表示在这个dataframe中这个列表里面的数据都是被替换的对象,to_replace和value的顺序是一一对应的 例如data[‘Sex’].replace([‘male’,‘female’],[0,1],inplace=True)表示将data里面Sex列的所有male值替换成0,所有female值替换成1

series:(假设保存的数据集名为series)

画图可以用series.plot.[相应图名字]() 来画 比如直方图:series.plot.bar() 饼图:series.plot.pie() 求出一些特殊值:series.max() series.min() series.mean()

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018/01/26 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 字符串
  • 数据集
    • 列表
      • 元组
        • 集合
          • 字典
          • 位运算
          • 逻辑运算符
          • 成员运算符
          • 身份运算符
          • 字符串
          • end
          • 逻辑分支
          • 循环
            • while语句
              • for 循环语句
                • range函数
              • pass 语句
              • 模块
                • from [module] import [function]
                • 格式化输出
                  • 构造方法
                    • 方法
                      • 继承
                        • dataframe:(假设保存的数据集名为data)
                        • series:(假设保存的数据集名为series)
                    • 数据处理总结
                    领券
                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档