一、python基础

字符串replace方法

txt = txt.replace(s, ' ')
# 光是txt.replace(s, ' ')是不会对txt产生影响的 # 下面每次循环replace后,w的值是不改变的
w = 'China520'
for x in w:
if '0' <= x <= '9':
continue
else:
k = w.replace(x, '')
print(k) # Chin520

字符串join方法

li = [1, 's', '4', 'b']
s = ','.join([str(each) for each in li]) # 注意必须先转成字符串列表,否则报错

如何对字典中的value进行排序

words = {}
for word in txt_list:
words[word] = words.get(word, 0) + 1
words_list = list(words.items()) # 每一个元素为(key,value)元组, 直接利用list(),这里很妙!!!
words_list.sort(key=lambda x:x[1], reverse=True)
# 或
words_list = sorted(words_list, key=lambda x:x[1], reverse=True)

字符串全部改为小写,并将特殊字符剔除

def getText():
txt = open("hamlet.txt", "r").read()
txt = txt.lower() # 这里不用循环
for s in '!"#$%&()*+,-./:;<=>?@[\\]^_‘{|}~':
txt = txt.replace(s, ' ')
return txt

字符串切割split

txt_list = txt.split()  # 不带参数时默认用空格切割

字典update/pop方法

clerkDict.update({"mobile":"18930964799","city":"shanghai"}) # 更新或新增合并到clerkDict
clerkDict.pop("city") # 删除city项 这里不带参数

巧用set去重

s = s.replace('\n', ' ')
names = set(s.split())

巧用list()

字典转元组嵌套的列表方法:li = list(dic.items())

遍历过程中对list进行操作

dat = ['1', '2', '3', '0', '0', '0']
for item in dat:
if item == '0':
dat.remove(item) # 每次只删除第一次匹配的
print(dat)
'''
['1', '2', '3', '0']
'''

eval()的用法: 用来执行一个字符串表达式,并返回表达式的值。

input = input()
input_dict = eval(input) # 这里不需要再加dict() >>>x = 7
>>> eval( '3 * x' )
21
>>> eval('pow(2,2)')
4
>>> eval('2 + 2')
4
>>> n=81
>>> eval("n + 4")
85

捕获异常是try... except...finally

try:
...
except: # 这里可以不写具体的错误类型
print('输入错误')

进制

含b 二进制

含o 八进制

含x 十六进制

oct() 转八进制

hex() 转十六进制

int() 转八进制或十六进制

print(0o1)  # 1
print(0x01) # 1 print(oct(64)) # 0o100
print(hex(255)) # 0xff
print(int('0100')) # 100
print(int('0o100', 8)) # 64
print(int('0x40', 16)) # 64
# eval函数也可以转换,但速度会稍慢些
print(eval('100')) # 100
print(eval('0o100')) # 64
print(eval('0x40')) # 64

File

fileStr=fileStr.strip() # 去除头尾空格、\n、\r、\t
# lstrip() 去除左边的 rstrip() 去除右边的 # open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
f = open(path)
for each_line in f.readlines():
li = each_line.strip().split(',')

os/os.path

pickle

file = open("c:/person.txt", "wb")  # python3必须以二进制写入模式
pickle.dump(person, file) # 将字典序列化写入文件
file.close()
# 将person字典从文件中读取
file = open("c:/person.txt", "rb")
personFromFile = pickle.load(file) # numpy读取文件
data = np.loadtxt('iris_data.csv')

逗号和分号

# 一行写几条语句,也是python唯一用分号的地方
x = 1;y = 2;z = 3 a,b,c = 1,2,3 # 赋值
x = y = z = 1

range

# start和end一样时,不执行
for i in range(1, 1):
print(i)

列表比较

list1 = [1, 2]
list4 = [1, 2, 3, 4]
print(list1 < list4) # True

$ | - ^

注意一定要是set(集合)才能做此操作,否则报错

top_10_by_perc = set(df_sort_by_perc[:10]['no'].values.tolist())
top_10_by_vol = set(df_sort_by_vol[:10]['no'].values.tolist()) print('涨幅和成交量均在前10名的股票:')
print(sorted(top_10_by_perc & top_10_by_vol))
print('涨幅或成交量在前10名的股票:')
print(sorted(top_10_by_perc | top_10_by_vol))
print('涨幅前10名,但成交量未进前10名的股票:')
print(sorted(top_10_by_perc - top_10_by_vol))
print('涨幅和成交量不同时在前10名的股票:')
print(sorted(top_10_by_perc ^ top_10_by_vol)) # ^号等于|减去&

Python数据分析易错知识点归纳(一):基础知识的更多相关文章

  1. python函数-易错知识点

    定义函数: def greet_users(names): #names是形参 """Print a simple greeting to each user in th ...

  2. JavaScript易错知识点整理

    前言 本文是我学习JavaScript过程中收集与整理的一些易错知识点,将分别从变量作用域,类型比较,this指向,函数参数,闭包问题及对象拷贝与赋值这6个方面进行由浅入深的介绍和讲解,其中也涉及了一 ...

  3. JavaScript 易错知识点整理

    本文是我学习JavaScript过程中收集与整理的一些易错知识点,将分别从变量作用域,类型比较,this指向,函数参数,闭包问题及对象拷贝与赋值这6个方面进行由浅入深的介绍和讲解,其中也涉及了一些ES ...

  4. JavaScript易错知识点整理[转]

    前言 本文是我学习JavaScript过程中收集与整理的一些易错知识点,将分别从变量作用域,类型比较,this指向,函数参数,闭包问题及对象拷贝与赋值这6个方面进行由浅入深的介绍和讲解,其中也涉及了一 ...

  5. JS易错知识点

    JAVASCRIPT易错知识点整理 前言 本文是学习JavaScript过程中收集与整理的一些易错知识点,将分别从变量作用域,类型比较,this指向,函数参数,闭包问题及对象拷贝与赋值这6个方面进行由 ...

  6. Java易错知识点(1) - 关于ArrayList移除元素后剩下的元素会立即重排

    帮一个网友解答问题时,发现这样一个易错知识点,现总结如下: 1.易错点: ArrayList移除元素后,剩下的元素会立即重排,他的 size() 也会立即减小,在循环过程中容易出错.(拓展:延伸到所有 ...

  7. JavaScript易错知识点

    JavaScript易错知识点整理1.变量作用域上方的函数作用域中声明并赋值了a,且在console之上,所以遵循就近原则输出a等于2. 上方的函数作用域中虽然声明并赋值了a,但位于console之下 ...

  8. 【转载】Python编程中常用的12种基础知识总结

    Python编程中常用的12种基础知识总结:正则表达式替换,遍历目录方法,列表按列排序.去重,字典排序,字典.列表.字符串互转,时间对象操作,命令行参数解析(getopt),print 格式化输出,进 ...

  9. Python编程中常用的12种基础知识总结

    原地址:http://blog.jobbole.com/48541/ Python编程中常用的12种基础知识总结:正则表达式替换,遍历目录方法,列表按列排序.去重,字典排序,字典.列表.字符串互转,时 ...

  10. python六十七课——网络编程(基础知识了解)

    网络编程: 什么是网络编程? 网络:它是一种隐形的媒介:可以将多台计算机使用(将它们连接到一起) 网络编程:将多台计算机之间可以相互通信了(做数据交互) 一旦涉及到网络编程,划分为两个方向存在,一方我 ...

随机推荐

  1. DeFi-DEX-借贷

    不知道为什么上课的笔记没保存上55555 看看ppt和视频吧(

  2. Marior去除边距和迭代内容矫正用于自然文档矫正

    一.简要介绍 本文简要介绍了论文" Marior: Margin Removal and Iterative Content Rectification for Document Dewar ...

  3. Node.js躬行记(28)——Cypress自动化测试实践

    最近在研究如何提升项目质量,提炼了许多个用于自测的测试用例,但是每次修改后,都手工测试,成本太高,于是就想到了自动化测试. 在一年前已将 Cypress 集成到管理后台的项目中,不过没有投入到实践中. ...

  4. Linux(centos7.9)搭建ldap服务器

    一.LDAP是什么 后期更新,目前只搭建了服务器 二.linux搭建LDAP服务器 以下服务器信息为该文档安装Radius服务环境 服务器信息:CentOS7  内核版本:3.10.0-1160.el ...

  5. 2022-12-23:portainer是docker的web可视化工具。如果根据docker部署去写yaml,默认local是k8s,而不是docker,这不符合需求,需要修改yaml。请问部署在

    2022-12-23:portainer是docker的web可视化工具.如果根据docker部署去写yaml,默认local是k8s,而不是docker,这不符合需求,需要修改yaml.请问部署在 ...

  6. 2022-05-18:假设数组a和数组b为两组信号: 1) length(b) <= length(a); 2) 对于任意0<=i<length(b), 有b[i+1] - b[i] == a[i+1

    2022-05-18:假设数组a和数组b为两组信号: length(b) <= length(a): 对于任意0<=i<length(b), 有b[i+1] - b[i] == a[ ...

  7. 2021-03-12:go中,如何确定有没有内存泄露,系统里怎么去监控整体的运行情况,日志是怎么处理的?

    2021-03-12:go中,如何确定有没有内存泄露,系统里怎么去监控整体的运行情况,日志是怎么处理的? 福哥答案2021-03-12: runtime/pprof:采集程序(非 Server)的运行 ...

  8. 2021-07-02:正则表达式匹配。给定一个字符串s和一个匹配串p。“.“匹配单个字符。“*“匹配左边元素的多个字符。判断p是否匹配s。比如s=“ab“,p=“a.“,返回true。比如s=“ab“

    2021-07-02:正则表达式匹配.给定一个字符串s和一个匹配串p."."匹配单个字符.""匹配左边元素的多个字符.判断p是否匹配s.比如s="ab ...

  9. IBM小型机 - 登录Web控制台

    前言: IBM 小型机没有VGA或者HDMI接口,只能通过web或者串口的方式,配置和查看设备的硬件信息: 我们可以通过两种方式获取小型机的IP,并通过浏览器访问. 操作步骤: 1.服务器接通电源,直 ...

  10. HINT: Add or change a related_name argument to the definition for 'usersApp.

    错误原因是你的项目使用的不是Django自带的用户表,采用的自定义的用户表,这个时候需要在settings.py里面进行指定. AUTH_USER_MODEL = 'usersApp.UserProf ...