- 为了能够完成各种数据操作,我们需要某种方法来存储和操作数据。 通常,我们需要做两件重要的事:
- 获取数据
- 将数据读入计算机后对其进行处理。
- 如果没有某种方法来存储数据,那么获取数据是没有意义的
- 许多方法与
Numpy使用相同,但深度学习框架又比Numpy的ndarray多一些重要功能: 首先,GPU很好地支持加速计算,而NumPy仅支持CPU计算;其次,张量类支持自动微分
2024/10/3大约 12 分钟
Numpy使用相同,但深度学习框架又比Numpy的ndarray多一些重要功能: 首先,GPU很好地支持加速计算,而NumPy仅支持CPU计算;其次,张量类支持自动微分pip是用来下载包的工具,管理时一般使用下方命令即可
# 换更新源
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
# 安装包,包名通过空格隔开,如果需要特定版本,可以添加版本号
pip install numpy pandas==2.2.3
# 无网络时可以手动下载对应的whl包文件,并进行安装
pip install 文件路径
# 也可以将自己的包文件夹安装到当前环境
# -e表示使用当前文件夹中的代码,方便修改调试
pip install -e .
# 更新包
pip install --upgrade numpy
# 强制重新安装,存在安装会自动卸载
pip install --force-reinstall numpy pandas
# 卸载包,-y表示确认,否则会出现提示框
pip uninstall numpy
# 查看当前所有包
pip list
# 查看单个包信息
pip show numpy
关于包安装后无法正常使用的问题
如果包已经安装,编辑器中可以直接跳转找到对应的属性,但显示AttributeError: module 'pandas' has no attribute 'DataFrame',说明可能包安装的过程中,出现了某些意外,python无法读取到这个包的一些信息,可以尝试强制重新安装--force-reinstall
pipreqs是一个用于生成requirements.txt文件的第三方库。它会扫描你的项目目录,自动识别出项目中导入的库,并生成一个包含这些库的requirements.txt文件
Numpy和panda库,以及用于处理csv文件的库爬虫相关见爬虫技能
re库是用于正则匹配的正则表达式库,可用于用于在字符串中查找、匹配、替换特定模式的文本。正则匹配相关见正则匹配技能
subprocess是python自带的线程模块,从python2.4引入concurrent.futures是python3.2加入的模块,用于创建和管理线程池,之前的python版本使用需要安装futures包pexpect是一个社区包python环境的parsel和JavaScript环境的cheerio爬虫库import json
# 将字典或文件编码成字符串
# json.dumps(obj, sort_keys=False, indent=None)
# json.dump(obj, fp, sort_keys=False, indent=None)
json.dumps(dict1)
# 将字符串解码成字典或输入到文件
# json.loads(string)
# json.load(fp)
json.load(str1)
Regular Expression,也叫作正则,是一种字符串匹配模式,用于匹配字符串中的内容,绝大多数主流语言都支持正则表达式元字符是正则表达式中的特殊字符,用于匹配字符串中的内容
匹配单个字符
| 表达式 | 含义 | 示例 |
|---|---|---|
. |
任意一个字符(除了换行) | a.c匹配abc和axc |
\d |
任意一位数字(0-9) | \d\d匹配12或45 |
\D |
非数字 | \D\D匹配ab或@# |
\w |
单词字符,包括字母数字下划线 | \w\w匹配ab、A1或_x |
\W |
非单词字符 | \W\W匹配!}或@$ |
\s |
空白字符,如空格、Tab等 | a\sb匹配a b中的空格 |
\S |
非空白字符 | \S\S匹配ab或12 |
[] |
表示匹配字符集合中的某一个字符 | [abc]匹配a或b或c |
[^] |
表示匹配除字符集合内容外的字符 | [^abc]匹配除了a或b或c以外的字符 |
| |
表示匹配两个中的任意一个字符 | a|b匹配a或b |
重复匹配
| 表达式 | 含义 | 示例 |
|---|---|---|
* |
匹配前面字符0次或多次 | a*b匹配b、ab或aaab |
+ |
匹配前面字符1次或多次 | a+b匹配ab或aaab(不匹配b) |
? |
匹配前面字符0次或1次 | a?b匹配b或ab(不匹配aab) |
{n} |
匹配前面字符n次 | a{3}匹配aaa(不匹配aa) |
{n,m} |
匹配n到m次 | a{2,3}匹配aa或aaa(不匹配a) |
一般情况下,正则会尽可能多得重复匹配,也称为贪婪匹配,如果希望尽可能少得匹配,可以在
*和+后面添加?
其他
| 表达式 | 含义 | 示例 |
|---|---|---|
^ |
匹配字符串开头 | ^a匹配abc开头(不匹配ba开头) |
$ |
匹配字符串结尾 | a$匹配ba结尾(不匹配ab结尾) |
\b |
单词边界 | \bword\b匹配a word中的word(而不匹配keyword) |