python培训Day1
python培训Day1
- python学习day1
- 一 列表、元组、字典、集合
- 1.1列表[]
- 1.1.1列表创建
- 1.1.2列表元素添加
- 1.1.3列表元素的删除
- 1.1.4列表元素的插入insert
- 1.1.5列表的索引从0到n-1
- 1.1.6列表切片 ...列表名称[起始:结束:步长]...相当于取每隔<步长>位置的元素重组成一个一个列表,包左不包右
- 1.1.7嵌套列表
- 1.2元组(),不可变的
- 1.3字典{key:value},用在要高速查找的地方,无序的
- 1.3.1字典的创建,for循环和zip()
- 1.3.2字典的索引get(key1,return值)不存在时返回none或自己设置的return值
- 1.3.3字典索引in,判断是否存在某个键
- 1.3.4打印所有的key和value,keys()和value()
- 1.3.4字典转元组items()
- 1.3.5字典元素删减del、pop()、clear()
- 1.4集合{},无序
- 1.4.1集合的创建set()函数或{}
- 1.4.2集合运算,|、&、—,并交差
- 二函数定义
- 三模块
- 3.1模块导入方式
- 3.2pandas模块,数据处理和分析
- 3.2.1csv包和pandas的区别
- 3.2.2数据处理
- 内置的mean()方法和filla()方法进行缺省值填补
- 统计方法describe()
- 内置hist()方法画出缺失之后填补后的A列分布图
- 3.3利用matplotlib画出A列的分布图
- 3.4numpy 矩阵表示,易得到二维数组
- 3.4.1基本数据结构ndarray
- 数据的格式转换astype()
- 索引,切片索引和布尔值索引
- 切片索引
- 布尔值索引
- 切分,split
python学习day1
一 列表、元组、字典、集合
1.1列表[]
1.1.1列表创建
kobe_list=[2,'aa','bb','cc']
print(kobe_list)
[2, 'aa', 'bb', 'cc']
1.1.2列表元素添加
kobe_list=[2,'aa','bb','cc']
kobe_list.append('dd')
print(kobe_list)
[2, 'aa', 'bb', 'cc', 'dd']
1.1.3列表元素的删除
remove(value)
del list[key]
pop(key)
有返回值
kobe_list=[2,'aa','bb','cc']
kobe_list.remove('bb')
print(kobe_list)
[2, 'aa', 'cc']
kobe_list=[2,'aa','bb','cc']
#del kobe_list[2]
#索引-1为从右数第一个
del kobe_list[-1]
print(kobe_list)
[2, 'aa', 'bb']
kobe_list=[2,'aa','bb','cc']
i=kobe_list.pop(-1)
print(i)
print(kobe_list)
cc
[2, 'aa', 'bb']
1.1.4列表元素的插入insert
kobe_list=[2,'aa','bb','cc']
kobe_list.insert(1,'zz')
print(kobe_list)
[2, 'zz', 'aa', 'bb', 'cc']
1.1.5列表的索引从0到n-1
#列表长度
kobe_list=[2,'aa','bb','cc']
len(kobe_list)
4
1.1.6列表切片 …列表名称[起始:结束:步长]…相当于取每隔<步长>位置的元素重组成一个一个列表,包左不包右
kobe_list=[2,'aa','bb','cc','dd','ee','ff']
#没有最后一个元素ff
print(kobe_list[0:5:2])
[2, 'bb', 'dd']
1.1.7嵌套列表
kobe_list=[2,'aa','bb','cc','dd','ee','ff']
data_list=[kobe_list,'cheng']
print(data_list)
[[2, 'aa', 'bb', 'cc', 'dd', 'ee', 'ff'], 'cheng']
1.2元组(),不可变的
kobe_list=[2,'aa','bb']
kobe_list[0]=3
print(kobe_list)
kobe_tuple=(2,'aa','bb')
kobe_tuple[0]=3
print(kobe_tuple)
[3, 'aa', 'bb']---------------------------------------------------------------------------TypeError Traceback (most recent call last)<ipython-input-9-499013620e2a> in <module>3 print(kobe_list)4 kobe_tuple=(2,'aa','bb')
----> 5 kobe_tuple[0]=36 print(kobe_tuple)TypeError: 'tuple' object does not support item assignment
1.3字典{key:value},用在要高速查找的地方,无序的
kobe_dict={2:'js',1:'js',3:'jsp'}
kobe_dict
{2: 'js', 1: 'js', 3: 'jsp'}
1.3.1字典的创建,for循环和zip()
shot_id=[1,2,3]
shot_vu=['java','js','py']
kobe_dict={}
for key,value in zip(shot_id,shot_vu):kobe_dict[key]=value
print(kobe_dict)
{1: 'java', 2: 'js', 3: 'py'}
1.3.2字典的索引get(key1,return值)不存在时返回none或自己设置的return值
print(kobe_dict.get(1))
print(kobe_dict.get(4))
print(kobe_dict.get(4,2))
java
None
2
1.3.3字典索引in,判断是否存在某个键
print(3 in kobe_dict)
print(4 in kobe_dict)
True
False
1.3.4打印所有的key和value,keys()和value()
print('keys are',kobe_dict.keys())
print('values are',kobe_dict.values())
keys are dict_keys([1, 2, 3])
values are dict_values(['java', 'js', 'py'])
1.3.4字典转元组items()
kobe_dict.items()
dict_items([(1, 'java'), (2, 'js'), (3, 'py')])
1.3.5字典元素删减del、pop()、clear()
del kobe_dict[1]
print(kobe_dict)kobe_dict.pop(2)
print(kobe_dict)kobe_dict.clear()
print(kobe_dict)
{2: 'js', 3: 'py'}
{3: 'py'}
{}
1.4集合{},无序
1.4.1集合的创建set()函数或{}
shot_set=set()
shot_set={'aa','bb','cc'}
print(shot_set)
{'aa', 'cc', 'bb'}
1.4.2集合运算,|、&、—,并交差
shot_set={'aa','bb','cc'}
shot_set1={'aa','bb','dd'}
print('并\n',shot_set|shot_set1)
print('交\n',shot_set&shot_set1)
print('差\n',shot_set-shot_set1)
并{'aa', 'cc', 'bb', 'dd'}
交{'aa', 'bb'}
差{'cc'}
二函数定义
def add(x,y):return x+y
print(add(3,5))
8
三模块
3.1模块导入方式
# 导入整个模块
import 包名 as 别名
#只导入某个对象
from 包名 import 对象
3.2pandas模块,数据处理和分析
3.2.1csv包和pandas的区别
#打印对象
import csv
f = open("E:\\data.csv", mode="r", encoding="utf8")
data=csv.reader(f)
print(data)
f.close()
<_csv.reader object at 0x00000222B379D660>
#打印数据表格
import pandas
f = open("E:\\data.csv", mode="r", encoding="utf8")
data=pandas.read_csv(f)
print(data)
f.close()
A B C D
0 1.0 2 3 4
1 NaN 22 33 44
2 111.0 222 333 444
3.2.2数据处理
内置的mean()方法和filla()方法进行缺省值填补
data1=data['A'].mean()
data['A'].fillna(data1)
0 1.0
1 56.0
2 111.0
Name: A, dtype: float64
统计方法describe()
city=['A','B','C','D']
for i in city:# a.describe(),提取a列,并等到统计信息z=data[i].describe()print(z)
count 2.000000
mean 56.000000
std 77.781746
min 1.000000
25% 28.500000
50% 56.000000
75% 83.500000
max 111.000000
Name: A, dtype: float64
count 3.000000
mean 82.000000
std 121.655251
min 2.000000
25% 12.000000
50% 22.000000
75% 122.000000
max 222.000000
Name: B, dtype: float64
count 3.000000
mean 123.000000
std 182.482876
min 3.000000
25% 18.000000
50% 33.000000
75% 183.000000
max 333.000000
Name: C, dtype: float64
count 3.000000
mean 164.000000
std 243.310501
min 4.000000
25% 24.000000
50% 44.000000
75% 244.000000
max 444.000000
Name: D, dtype: float64
内置hist()方法画出缺失之后填补后的A列分布图
#用print才能画出图,不用无法画出图
print(data['A'].hist())
AxesSubplot(0.125,0.125;0.775x0.755)
3.3利用matplotlib画出A列的分布图
# 结构化数据处理
import pandas as pd
# 绘图
import matplotlib.pyplot as plt
# 转化成为数组
import numpy as np
%matplotlib inline
#读取数据为DataFrame
data_fist = pd.read_csv('E:\\data.csv')
#将Series转化为array
age=np.array(data_fist['A'])
#绘图,print也可以简单实现
plt.hist(age,range=[0,120])
E:\DEV\Anaconda3.7\lib\site-packages\numpy\lib\histograms.py:824: RuntimeWarning: invalid value encountered in greater_equalkeep = (tmp_a >= first_edge)
E:\DEV\Anaconda3.7\lib\site-packages\numpy\lib\histograms.py:825: RuntimeWarning: invalid value encountered in less_equalkeep &= (tmp_a <= last_edge)(array([1., 0., 0., 0., 0., 0., 0., 0., 0., 1.]),array([ 0., 12., 24., 36., 48., 60., 72., 84., 96., 108., 120.]),<a list of 10 Patch objects>)
3.4numpy 矩阵表示,易得到二维数组
import numpy as np
np_ar=np.array([[1,2,3],[4,5,6]])
print(type(np_ar))
print(np_ar)
<class 'numpy.ndarray'>
[[1 2 3][4 5 6]]
3.4.1基本数据结构ndarray
数据的格式转换astype()
a=np.array(["1","2","3"])
print(a)
a_=a.astype("float_")
print(a_)
['1' '2' '3']
[1. 2. 3.]
索引,切片索引和布尔值索引
切片索引
import numpy as np
np_ar=np.array([[1,2,3],[4,5,6]])
print(type(np_ar))
print(np_ar)
#np_ar[起始行:结束行,起始列:结束列列]
print(np_ar[:,:2])
<class 'numpy.ndarray'>
[[1 2 3][4 5 6]]
[[1 2][4 5]]
#对新位置赋值
np_ar[:,:2]=8
np_ar
array([[8, 8, 3],[8, 8, 6]])
# 通过shape属性得到数组的行数和列数
print(np_ar[:,:2].shape)
(2, 2)
布尔值索引
import numpy as np
np_ar=np.array([[1,2,3],[4,5,6]])
print(np_ar[np_ar>=2])
[2 3 4 5 6]
切分,split
np_ar.split(np_ar,1)
---------------------------------------------------------------------------AttributeError Traceback (most recent call last)<ipython-input-4-a37b44fe20a2> in <module>
----> 1 np_ar.split(np_ar,1)AttributeError: 'numpy.ndarray' object has no attribute 'split'
python培训Day1相关推荐
- python培训Day1 随笔
1.python的数据类型 引用的时候 %s 表示引用字符串 %d 表示引用整数 %f 表示引用的带小数点的数字 2.循环 for循环可以用来遍历列表和元组里所有的元素 例如: for i in l ...
- Python培训:Python有哪些函数?你了解几种?
本期小编要为大家带来的Python教程就是关于Python函数这方面的,我们都知道Python函数,一般是指组织好的.可重复使用的.用来实现单一或相关联功能的代码段,Python函数包含系统中自带的一 ...
- Python培训教程:Python有哪些比较重要的内置函数?
学习Python技术或者参加Python工作的小伙伴们应该都知道,在Python编程语言中会经常出现很多内置函数,很少有人清楚这些函数,但是它的功能是不可小觑的,下面小编就为大家详细介绍一下Pytho ...
- Python培训教程分享:10款超好用的Python开发工具
学会Python技术后,我们在参加工作的时候如果能有辅助工具的话,那么会很大程度的提高我们的工作效率,那么Python都有哪些好用的开发工具呢?下面小编就为大家详细的介绍一下10款超好用的Python ...
- Python培训教程分享:Python异常机制
在学习Python技术的时候,我们经常会遇到一些异常,例如导致程序在运行过程中出现的中断或退出,我们都称之为异常,大多数的异常都不会被程序处理,而是以错误信息的形式展现出来.本期Python培训教 ...
- 参加完Python培训后有哪些就业方向
很多学习Python技术的同学都是为了后面能够找到一个好的工作,对于大家来说了解了Python的就业方向,后面就可以根据自己的能力来选择对应的工作岗位了,那么下面小编就为大家详细的介绍一下参加完Pyt ...
- Python培训教程分享:有哪些值得使用的爬虫开源项目?
相信很多同学在学习Python技术的时候,都有学习到Python爬虫技术,爬虫技术在各大互联网公司都是非常常见的,可以帮助我们获取各种网站的信息,比如微博.B站.知乎等,本篇Python培训教程分享为 ...
- Python培训教程分享:visual studio编写python怎么样?
本期小编要为大家介绍的Python培训教程就是关于"visual studio编写python怎么样?"的问题,但答案当然是可以的,据了解,vs2017.vs2019都集成了pyt ...
- Python培训分享:Python新版本中的6个新特性
Python在几年做了一个全面的升级,此次Python升级中有6个新特性,本期小编为大家介绍的Python培训教程就是关于介绍Python新版本中的6个新特性的,来看看下面的详细介绍. Python培 ...
最新文章
- aria2下载工具命令行和图形化界面使用
- JavaScript 技术篇-一段js代码展示可以随鼠标移动变换样式的卡通人物,动态女生眼睛跟着鼠转动
- ITK:在不复制内存的情况下为每个像素添加常量
- 编程语言之类型之间转换
- 2135亿!2018 双11阿里数据库技术战报新鲜出炉
- java移动端接口测试_使用java如何进行接口测试
- LeetCode-1052:爱生气的书店老板
- vue excel导入mysql详细教程_Vue前端上传EXCEL文件,后端(springBoot+MyBatis+MySQL)解析EXCEL并批量插入/更新数据库...
- 什么才是成熟的爱——爱的四个层次
- 19范数理论及其应用
- 使用搜狗新闻语料库,训练word embeding
- java视频会议系统 mcu_视频会议系统必须要用MCU吗
- 买书不读是一种什么病?
- 中华小子剧情介绍,中华小子在线观看
- 拉结尔6月21日服务器维护,《拉结尔》3月5日更新公告-S6赛季降临
- 如何从零搭建自动化测试框架
- 【英语单词词汇笔记本】把英语常用常考的单词分100个类别:主要针对阅读、翻译、作文、词汇量
- 游泳池水处理系统的PLC设计
- 大创项目学习日志(一)——中文分词软件的选择与尝试
- 食堂老板给北大教授上的MBA课