【python】一些python用法规律笔记
作为本科用了多年MATLAB的工科生,学起来python有些似曾相识但也有些不习惯的地方。
在这里总结一下,慢慢整理,希望能巩固python语法
一、前闭后开
这个是和MATLAB很大不同。不论是range还是数组的切片等,python在这里都是前闭后开原则
查看代码
range(6, 11) # [6, 7, 8, 9, 10]
range(1, 10, 2) # [1, 3, 5, 7, 9]
range(10, 0, -1) # [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
a = range(1,10)
b = a[1:3]
import numpy
b= numpy.array(b)
b # [2,3]
二、Pandas DataFrame
testdf3 = pd.DataFrame(
{"A": np.arange(5),
"B": pd.Timestamp("20171129"),
"C": pd.Series(1, index =np.arange(5), dtype = "float32"),
"D": np.array([3]*5),
"E": pd.Categorical(["test", "train", "test", "train","test"]),
"F": 'foo'})
行操作:
testdf3.iloc[0] # pandas series
testdf3.iloc[[0]] # dataframe
testdf3[2:3] # data frame
testdf3.iloc[2:3] # data frame
列操作:
testdf3['A'] # 单独一列是个series
testdf3.loc[:,'A'] # 同上,但比较复杂,一般不用
testdf3.iloc[:,0] # 同上,可以在不知道列名的时候用
testdf3[['A']] #单独一列是个df
testdf3.loc[:,['A']] # 同上,但比较复杂,一般不用
testdf3.iloc[:,[0]] # 同上,可以在不知道列名的时候用
testdf3[['A','C']] # DF, 指定某几列,直接用列名
testdf3.loc[:,['A','C']] # 同上,但比较复杂,一般不用
testdf3.iloc[:,[0,2]] # 同上,可以在不知道列名的时候用
'''取指定的连续几列,不能偷懒了,必须用.loc'''
testdf3.loc[:,'A':'D'] #指定连续列,用列名
testdf3.iloc[:,0:4] # 指定连续列,用数字
同时取行和列:
'''第一种情况,列索引用数字'''
testdf3.iloc[[1,3],[0]] # dataframe
testdf3.iloc[[1,3],0] # series
testdf3.iloc[[1,3],1:3] # dataframe
testdf3.iloc[[1,3],[1,3]]
'''第二种情况,列索引用列名'''
testdf3.loc[1,["A","D"]] # series 对应上述1.1
testdf3.loc[[1],["A","D"]] # df 对应上述1.1
testdf3.loc[[1,3],"A":"D"] # df 对应上述1.2
testdf3.loc[[1,3],["A","D"]] # df 对应上述1.3
【python】一些python用法规律笔记的更多相关文章
- python核心编程第二版笔记
python核心编程第二版笔记由网友提供:open168 python核心编程--笔记(很详细,建议收藏) 解释器options:1.1 –d 提供调试输出1.2 –O 生成优化的字节码(生成 ...
- python x[:] x[::]用法总结
python x[:] x[::]用法总结 X[:,0] # 二维数组取第1维所有数据 X[:,1] # 第2列 X[0,:] # 第1行 X[3,:] # 第三行 X[1:4,:] # 第一二三行 ...
- 用Python 的一些用法与 JS 进行类比,看有什么相似?
Python 是一门运用很广泛的语言,自动化脚本.爬虫,甚至在深度学习领域也都有 Python 的身影.作为一名前端开发者,也了解 ES6 中的很多特性借鉴自 Python (比如默认参数.解构赋值. ...
- $《利用Python进行数据分析》学习笔记系列——IPython
本文主要介绍IPython这样一个交互工具的基本用法. 1. 简介 IPython是<利用Python进行数据分析>一书中主要用到的Python开发环境,简单来说是对原生python交互环 ...
- Python高阶用法总结
目录 1. lambda匿名函数 1.1 函数式编程 1.2 应用在闭包 2. 列表解析式 3. enumerate内建函数 4. 迭代器与生成器 4.1 迭代器 4.3 生成器 5. 装饰器 前言: ...
- Ubuntu下配置python完成爬虫任务(笔记一)
Ubuntu下配置python完成爬虫任务(笔记一) 目标: 作为一个.NET汪,是时候去学习一下Linux下的操作了.为此选择了python来边学习Linux,边学python,熟能生巧嘛. 前期目 ...
- Python回调函数用法实例详解
本文实例讲述了Python回调函数用法.分享给大家供大家参考.具体分析如下: 一.百度百科上对回调函数的解释: 回调函数就是一个通过函数指针调用的函数.如果你把函数的指针(地址)作为参数传递给另一个函 ...
- day01-day04总结- Python 数据类型及其用法
Python 数据类型及其用法: 本文总结一下Python中用到的各种数据类型,以及如何使用可以使得我们的代码变得简洁. 基本结构 我们首先要看的是几乎任何语言都具有的数据类型,包括字符串.整型.浮点 ...
- 【Python】关于Python有意思的用法
开一篇文章,记录关于Python有意思的用法,不断更新 1.Python树的遍历 def sum(t): tmp=0 for k in t: if not isinstance(k,list): tm ...
随机推荐
- python基础中遇到的问题(TypeError: unhashable type: 'list')
d20220330 #false >>> l=[{i:i+1} for i in [1,2,3]] >>> l [{1: 2}, {2: 3}, {3: 4}] & ...
- 如何使用lerna进行多包(package)管理
为什么要用lerna 将大型代码仓库分割成多个独立版本化的 软件包(package)对于代码共享来说非常有用.但是,如果某些更改 跨越了多个代码仓库的话将变得很 麻烦 并且难以跟踪,并且, 跨越多个代 ...
- Javaweb_Tomcat配置
1.基本概念 1.1 前言 web开发: web,网页的意思 静态web html,css 提供给所有人看的数据始终不会发生改变 动态web 淘宝,几乎所有的网站 提供给所有人看的数据始终会发生变化, ...
- 一条 SQL 语句是如何执行的
一条 SQL 语句是如何执行的 SQL查询语句 select * from user where ID=10; MySQL 的基本架构可以分为 Server 层和存储引擎两部分.Server 层又包含 ...
- jenkins部署docker
1. 先在jenkins上配置拉取代码部分,需要在git上找到项目位置,直接复制url即可 http://192.168.0.161:3000/IT-Insurance/Back.Test-Walle ...
- org/apache/poi/POIXMLTypeLoader或者java.lang.NoSuchFieldError: RETURN_NULL_AND_BLANK
原因是之前我的poi和ooxml版本有点低, 解决方案 将两者版本提高,我是将两者的版本都提高到了3.15
- JavaWEB-01-MySQL基础
JavaWeb内容 数据库 – 数据存储 MySQL JDBC Maven - 项目管理工具 Mybatis 前端 - 为了前端哥们沟通 HTML+CSS JavaScript Ajax + Vue ...
- SpringBoot数据库管理 - 用flyway对数据库管理和迁移
上文介绍了Liquibase,以及和SpringBoot的集成.除了Liquibase之外,还有一个组件Flyway也是经常被使用到的类似的数据库版本管理中间件.本文主要介绍Flyway, 以及Spr ...
- C#基础-面向对象详解
面向对象详解 一.什么是面向对象 1>面向对象是一种程序设计思想 2>面向过程和面向对象是什么? 例如要把大象放冰箱怎么做? 面向过程:打开冰箱门->把大象扔进去->关上冰箱门 ...
- 序列化和返序列化的概述和对象的序列化流ObjectOutputStream
序列化和返序列化的概述 对象的序列化流ObjectOutputStream Person类: package com.yang.Test.ObjectStreamStudy; import java. ...