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相关推荐

  1. python培训Day1 随笔

    1.python的数据类型 引用的时候  %s 表示引用字符串 %d 表示引用整数 %f 表示引用的带小数点的数字 2.循环 for循环可以用来遍历列表和元组里所有的元素 例如: for i in l ...

  2. Python培训:Python有哪些函数?你了解几种?

    本期小编要为大家带来的Python教程就是关于Python函数这方面的,我们都知道Python函数,一般是指组织好的.可重复使用的.用来实现单一或相关联功能的代码段,Python函数包含系统中自带的一 ...

  3. Python培训教程:Python有哪些比较重要的内置函数?

    学习Python技术或者参加Python工作的小伙伴们应该都知道,在Python编程语言中会经常出现很多内置函数,很少有人清楚这些函数,但是它的功能是不可小觑的,下面小编就为大家详细介绍一下Pytho ...

  4. Python培训教程分享:10款超好用的Python开发工具

    学会Python技术后,我们在参加工作的时候如果能有辅助工具的话,那么会很大程度的提高我们的工作效率,那么Python都有哪些好用的开发工具呢?下面小编就为大家详细的介绍一下10款超好用的Python ...

  5. Python培训教程分享:Python异常机制

    ​ 在学习Python技术的时候,我们经常会遇到一些异常,例如导致程序在运行过程中出现的中断或退出,我们都称之为异常,大多数的异常都不会被程序处理,而是以错误信息的形式展现出来.本期Python培训教 ...

  6. 参加完Python培训后有哪些就业方向

    很多学习Python技术的同学都是为了后面能够找到一个好的工作,对于大家来说了解了Python的就业方向,后面就可以根据自己的能力来选择对应的工作岗位了,那么下面小编就为大家详细的介绍一下参加完Pyt ...

  7. Python培训教程分享:有哪些值得使用的爬虫开源项目?

    相信很多同学在学习Python技术的时候,都有学习到Python爬虫技术,爬虫技术在各大互联网公司都是非常常见的,可以帮助我们获取各种网站的信息,比如微博.B站.知乎等,本篇Python培训教程分享为 ...

  8. Python培训教程分享:visual studio编写python怎么样?

    本期小编要为大家介绍的Python培训教程就是关于"visual studio编写python怎么样?"的问题,但答案当然是可以的,据了解,vs2017.vs2019都集成了pyt ...

  9. Python培训分享:Python新版本中的6个新特性

    Python在几年做了一个全面的升级,此次Python升级中有6个新特性,本期小编为大家介绍的Python培训教程就是关于介绍Python新版本中的6个新特性的,来看看下面的详细介绍. Python培 ...

最新文章

  1. aria2下载工具命令行和图形化界面使用
  2. JavaScript 技术篇-一段js代码展示可以随鼠标移动变换样式的卡通人物,动态女生眼睛跟着鼠转动
  3. ITK:在不复制内存的情况下为每个像素添加常量
  4. 编程语言之类型之间转换
  5. 2135亿!2018 双11阿里数据库技术战报新鲜出炉
  6. java移动端接口测试_使用java如何进行接口测试
  7. LeetCode-1052:爱生气的书店老板
  8. vue excel导入mysql详细教程_Vue前端上传EXCEL文件,后端(springBoot+MyBatis+MySQL)解析EXCEL并批量插入/更新数据库...
  9. 什么才是成熟的爱——爱的四个层次
  10. 19范数理论及其应用
  11. 使用搜狗新闻语料库,训练word embeding
  12. java视频会议系统 mcu_视频会议系统必须要用MCU吗
  13. 买书不读是一种什么病?
  14. 中华小子剧情介绍,中华小子在线观看
  15. 拉结尔6月21日服务器维护,《拉结尔》3月5日更新公告-S6赛季降临
  16. 如何从零搭建自动化测试框架
  17. 【英语单词词汇笔记本】把英语常用常考的单词分100个类别:主要针对阅读、翻译、作文、词汇量
  18. 游泳池水处理系统的PLC设计
  19. 大创项目学习日志(一)——中文分词软件的选择与尝试
  20. 食堂老板给北大教授上的MBA课

热门文章

  1. 无锡seo揭秘2017年百度核心算法(内部资源)
  2. Windows中如何使用vmware虚拟化
  3. 阿里云ECS CentOS6.5搭建iRedMail邮件服务器
  4. JS实现关闭当前子窗口,刷新父窗口及调用父窗口的方法
  5. 动手学深度学习(十四)——权重衰退
  6. google专利2则
  7. 开源在线文档编辑工具_4个开源工具,可让您无忧地在线阅读
  8. keep跑步截图生成器ios_主题月活动 |『公装跑步月』突破自我 票选邀您来参与!...
  9. 有一点点自恋和臭屁的嫌疑
  10. 参考ggplot2,Seaborn将迎来超大版本更新!