Python 学习小笔记

这是我在入门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()来创建,{}这样子是创建一个空字典
使用集合这种数据集类型主要是为了去除重复元素

去重:

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}

位运算

位运算符:<< >> & | ^

如果对整数采用位运算符,默认是将整数作为二进制运算的

 a=3
 a<<3
 print(a)

 '''将会输出24'''

逻辑运算符

and or not

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

成员运算符

in not in

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

身份运算符

is is not

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

字符串

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

字符串重复:

a="string";
a=a*2; 
print(a)

就会输出stringstring

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

end

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

逻辑分支

Python没有switch case 语句

实例:

if a>0:
    statment1
elif a=0:
    statment2
else:
    statment3

循环

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

while语句

while a>0:
    statments
    statments1

Python没有do while循环

while循环加上else语句

当不满足while循环的条件时执行else语句

for 循环语句

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

for x in list:
    statement
else:
    statement2

range函数

遍历数字序列

例如:

按顺序遍历
for x in range(5)
    print(x)

这样会输出 0 到 4

遍历其中一个段
for x in range(5,8)
    print(x)

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

设定增量
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进行分组并计算平均值)

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

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

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

定位符合某个条件的数据(在处理缺失数据时十分有用)
  1. data.loc[行条件,列条件]

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

1.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()

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值