数学基础
- 线性代数
- 概率论与随机过程
- 数值计算
- 蒙特卡洛方法与 MCMC 采样
- 机器学习方法概论
统计学习
深度学习
- 深度学习简介
- 深度前馈网络
- 反向传播算法
- 正则化
- 深度学习中的最优化问题
- 卷积神经网络
- CNN:图像分类
- 循环神经网络 RNN
- Transformer
- 一、Transformer [2017]
- 二、Universal Transformer [2018]
- 三、Transformer-XL [2019]
- 四、GPT1 [2018]
- 五、GPT2 [2019]
- 六、GPT3 [2020]
- 七、OPT [2022]
- 八、BERT [2018]
- 九、XLNet [2019]
- 十、RoBERTa [2019]
- 十一、ERNIE 1.0 [2019]
- 十二、ERNIE 2.0 [2019]
- 十三、ERNIE 3.0 [2021]
- 十四、ERNIE-Huawei [2019]
- 十五、MT-DNN [2019]
- 十六、BART [2019]
- 十七、mBART [2020]
- 十八、SpanBERT [2019]
- 十九、ALBERT [2019]
- 二十、UniLM [2019]
- 二十一、MASS [2019]
- 二十二、MacBERT [2019]
- 二十三、Fine-Tuning Language Models from Human Preferences [2019]
- 二十四 Learning to summarize from human feedback [2020]
- 二十五、InstructGPT [2022]
- 二十六、T5 [2020]
- 二十七、mT5 [2020]
- 二十八、ExT5 [2021]
- 二十九、Muppet [2021]
- 三十、Self-Attention with Relative Position Representations [2018]
- 三十一、USE [2018]
- 三十二、Sentence-BERT [2019]
- 三十三、SimCSE [2021]
- 三十四、BERT-Flow [2020]
- 三十五、BERT-Whitening [2021]
- 三十六、Comparing the Geometry of BERT, ELMo, and GPT-2 Embeddings [2019]
- 三十七、CERT [2020]
- 三十八、DeCLUTR [2020]
- 三十九、CLEAR [2020]
- 四十、ConSERT [2021]
- 四十一、Sentence-T5 [2021]
- 四十二、ULMFiT [2018]
- 四十三、Scaling Laws for Neural Language Models [2020]
- 四十四、Chinchilla [2022]
- 四十七、GLM-130B [2022]
- 四十八、GPT-NeoX-20B [2022]
- 四十九、Bloom [2022]
- 五十、PaLM [2022] (粗读)
- 五十一、PaLM2 [2023](粗读)
- 五十二、Self-Instruct [2022]
- 句子向量
- 词向量
- 传统CTR 预估模型
- CTR 预估模型
- 一、DSSM [2013]
- 二、FNN [2016]
- 三、PNN [2016]
- 四、DeepCrossing [2016]
- 五、Wide 和 Deep [2016]
- 六、DCN [2017]
- 七、DeepFM [2017]
- 八、NFM [2017]
- 九、AFM [2017]
- 十、xDeepFM [2018]
- 十一、ESMM [2018]
- 十二、DIN [2017]
- 十三、DIEN [2019]
- 十四、DSIN [2019]
- 十五、DICM [2017]
- 十六、DeepMCP [2019]
- 十七、MIMN [2019]
- 十八、DMR [2020]
- 十九、MiNet [2020]
- 二十、DSTN [2019]
- 二十一、BST [2019]
- 二十二、SIM [2020]
- 二十三、ESM2 [2019]
- 二十四、MV-DNN [2015]
- 二十五、CAN [2020]
- 二十六、AutoInt [2018]
- 二十七、Fi-GNN [2019]
- 二十八、FwFM [2018]
- 二十九、FM2 [2021]
- 三十、FiBiNET [2019]
- 三十一、AutoFIS [2020]
- 三十三、AFN [2020]
- 三十四、FGCNN [2019]
- 三十五、AutoCross [2019]
- 三十六、InterHAt [2020]
- 三十七、xDeepInt [2023]
- 三十九、AutoDis [2021]
- 四十、MDE [2020]
- 四十一、NIS [2020]
- 四十二、AutoEmb [2020]
- 四十三、AutoDim [2021]
- 四十四、PEP [2021]
- 四十五、DeepLight [2021]
- 图的表达
- 一、DeepWalk [2014]
- 二、LINE [2015]
- 三、GraRep [2015]
- 四、TADW [2015]
- 五、DNGR [2016]
- 六、Node2Vec [2016]
- 七、WALKLETS [2016]
- 八、SDNE [2016]
- 九、CANE [2017]
- 十、EOE [2017]
- 十一、metapath2vec [2017]
- 十二、GraphGAN [2018]
- 十三、struc2vec [2017]
- 十四、GraphWave [2018]
- 十五、NetMF [2017]
- 十六、NetSMF [2019]
- 十七、PTE [2015]
- 十八、HNE [2015]
- 十九、AANE [2017]
- 二十、LANE [2017]
- 二十一、MVE [2017]
- 二十二、PMNE [2017]
- 二十三、ANRL [2018]
- 二十四、DANE [2018]
- 二十五、HERec [2018]
- 二十六、GATNE [2019]
- 二十七、MNE [2018]
- 二十八、MVN2VEC [2018]
- 二十九、SNE [2018]
- 三十、ProNE [2019]
- Graph Embedding 综述
- 图神经网络
- 一、GNN [2009]
- 二、Spectral Networks 和 Deep Locally Connected Networks [2013]
- 三、Fast Localized Spectral Filtering On Graph [2016]
- 四、GCN [2016]
- 五、神经图指纹 [2015]
- 六、GGS-NN [2016]
- 七、PATCHY-SAN [2016]
- 八、GraphSAGE [2017]
- 九、GAT [2017]
- 十、R-GCN [2017]
- 十一、 AGCN [2018]
- 十二、FastGCN [2018]
- 十三、PinSage [2018]
- 十四、GCMC [2017]
- 十五、JK-Net [2018]
- 十六、PPNP [2018]
- 十七、VRGCN [2017]
- 十八、ClusterGCN [2019]
- 十九、LDS-GNN [2019]
- 二十、DIAL-GNN [2019]
- 二十一、HAN [2019]
- 二十二、HetGNN [2019]
- 二十三、HGT [2020]
- 二十四、GPT-GNN [2020]
- 二十五、Geom-GCN [2020]
- 二十六、Graph Network [2018]
- 二十七、GIN [2019]
- 二十八、MPNN [2017]
- 二十九、UniMP [2020]
- 三十、Correct and Smooth [2020]
- 三十一、LGCN [2018]
- 三十二、DGCNN [2018]
- 三十三、AS-GCN
- 三十四、DGI [2018]
- 三十五、DIFFPOLL [2018]
- 三十六、DCNN [2016]
- 三十七、IN [2016]
- 图神经网络 2
- 图神经网络 3
- 推荐算法(传统方法)
- 一、Tapestry [1992]
- 二、GroupLens [1994]
- 三、ItemBased CF [2001]
- 四、Amazon I-2-I CF [2003]
- 五、Slope One Rating-Based CF [2005]
- 六、Bipartite Network Projection [2007]
- 七、Implicit Feedback CF [2008]
- 八、PMF [2008]
- 九、SVD++ [2008]
- 十、MMMF 扩展 [2008]
- 十一、OCCF [2008]
- 十二、BPR [2009]
- 十三、MF for RS [2009]
- 十四、 Netflix BellKor Solution [2009]
- 推荐算法(神经网络方法 1)
- 一、MIND [2019](用于召回)
- 二、DNN For YouTube [2016]
- 三、Recommending What Video to Watch Next [2019]
- 四、ESAM [2020]
- 五、Facebook Embedding Based Retrieval [2020](用于检索)
- 六、Airbnb Search Ranking [2018]
- 七、MOBIUS [2019](用于召回)
- 八、TDM [2018](用于检索)
- 九、DR [2020](用于检索)
- 十、JTM [2019](用于检索)
- 十一、Pinterest Recommender System [2017]
- 十二、DLRM [2019]
- 十三、Applying Deep Learning To Airbnb Search [2018]
- 十四、Improving Deep Learning For Airbnb Search [2020]
- 十五、HOP-Rec [2018]
- 十六、NCF [2017]
- 十七、NGCF [2019]
- 十八、LightGCN [2020]
- 十九、Sampling-Bias-Corrected Neural Modeling [2019](检索)
- 二十、EGES [2018](Matching 阶段)
- 二十一、SDM [2019](Matching 阶段)
- 二十二、COLD [2020 ] (Pre-Ranking 模型)
- 二十三、ComiRec [2020](https://www.wenjiangs.com/doc/0b4e1736-ac78)
- 二十四、EdgeRec [2020]
- 二十五、DPSR [2020](检索)
- 二十六、PDN [2021](mathcing)
- 二十七、时空周期兴趣学习网络ST-PIL [2021]
- 推荐算法之序列推荐
- 一、FPMC [2010]
- 二、GRU4Rec [2015]
- 三、HRM [2015]
- 四、DREAM [2016]
- 五、Improved GRU4Rec [2016]
- 六、NARM [2017]
- 七、HRNN [2017]
- 八、RRN [2017]
- 九、Caser [2018]
- 十、p-RNN [2016]
- 十一、GRU4Rec Top-k Gains [2018]
- 十二、SASRec [2018]
- 十三、RUM [2018]
- 十四、SHAN [2018]
- 十五、Phased LSTM [2016]
- 十六、Time-LSTM [2017]
- 十七、STAMP [2018]
- 十八、Latent Cross [2018]
- 十九、CSRM [2019]
- 二十、SR-GNN [2019]
- 二十一、GC-SAN [2019]
- 二十二、BERT4Rec [2019]
- 二十三、MCPRN [2019]
- 二十四、RepeatNet [2019]
- 二十五、LINet(2019)
- 二十六、NextItNet [2019]
- 二十七、GCE-GNN [2020]
- 二十八、LESSR [2020]
- 二十九、HyperRec [2020]
- 三十、DHCN [2021]
- 三十一、TiSASRec [2020]
- 推荐算法(综述)
- 多任务学习
- 系统架构
- 实践方法论
- 深度强化学习 1
- 自动代码生成
工具
- CRF
- lightgbm
- xgboost
- scikit-learn
- spark
- numpy
- matplotlib
- pandas
- huggingface_transformer
- 一、Tokenizer
- 二、Datasets
- 三、Model
- 四、Trainer
- 五、Evaluator
- 六、Pipeline
- 七、Accelerate
- 八、Autoclass
- 九、应用
- 十、Gradio
Scala
- 环境搭建
- 基础知识
- 函数
- 类
- 样例类和模式匹配
- 测试和注解
- 集合 collection(一)
- 集合collection(二)
- 集成 Java
- 并发
十二、 数据加载和保存
1. 文本文件
read_csv
可以读取文本文件(.csv
格式):xxxxxxxxxx
pandas.read_csv(filepath_or_buffer, sep=', ', delimiter=None, header='infer', names=None, index_col=None, usecols=None, squeeze=False, prefix=None, mangle_dupe_cols=True, dtype=None, engine=None, converters=None, true_values=None, false_values=None, skipinitialspace=False,skiprows=None, nrows=None,na_values=None, keep_default_na=True, na_filter=True, verbose=False, skip_blank_lines=True, parse_dates=False, infer_datetime_format=False,keep_date_col=False,date_parser=None, dayfirst=False, iterator=False, chunksize=None, compression='infer', thousands=None, decimal='.', lineterminator=None, quotechar='"', quoting=0, escapechar=None, comment=None, encoding=None, dialect=None, tupleize_cols=False, error_bad_lines=True, warn_bad_lines=True, skipfooter=0, skip_footer=0, doublequote=True, delim_whitespace=False, as_recarray=False, compact_ints=False, use_unsigned=False, low_memory=True, buffer_lines=None, memory_map=False, float_precision=None)filepath_or_buffer
:一个字符串,或者一个pathlib.Path
对象,或者任何拥有.read()
方法的对象。它指定了被解析的文件的位置。如果是个字符串,则必须是个URL
(其中包含了协议名,如http//,ftp//,file//
等)sep
:一个字符串,指定了分隔符。默认为','
。如果设定为None
,则自动决议分隔符。- 如果字符串长度大于1,则自动解析为正则表达式。如
'\s+\
解析为空白符
- 如果字符串长度大于1,则自动解析为正则表达式。如
delimiter
:一个字符串,指定了分隔符。它是sep
参数的另一个候选参数delim_whitespace
:一个布尔值。如果为True
,则将空白符(连续的空白或者单个空白)作为分隔符。此时不需要提供delimiter
参数。它等价于sep='\s+'
header
:一个整数或者整数列表。它指定了那些行是标题行,0表示第一行。如果你指定了header=[1,3,5]
,则第三行(行id=2
)和第五行(行id=4
)被忽略(不被解析)。- 如果
names
参数为空,则header
默认值为 0.如果names
参数提供了,则header
默认值为None
- 如果
- 该参数会忽略注释行。 - 如果`skip_blank_lines=True`,则该参数会忽略空白行。因此`header=0`表示第一个有效的数据行
names
:一个array-like
。它给出了列名。- 如果文件不包含标题行,则你需要显式通过
names
传入列名 - 如果
mangle_dupe_cols=True
,则可以传入重复的列名。否则不允许重复列名
- 如果文件不包含标题行,则你需要显式通过
index_col
:一个整数,或者序列,或者False
。它指定哪一列作为row labels
。如果你指定了一个序列,则使用MultiIndex
。如果为False
,则不采用任何列作为row labels
usecols
:一个array-like
。它指定:你将采用哪些列来组装DataFrame
。该参数各元素必须要么是代表位置的整数,要么是代表列名的字符串as_recarray
:一个布尔值。被废弃的参数。squeeze
:一个布尔值。如果为True
,则当解析结果只有一列数据时,返回一个Series
而不是DataFrame
prefix
:一个字符串。当没有标题时,你可以提供这个参数来给列名加一个前缀。(如果不加前缀,则列名就是0,1,2...
)mangle_dupe_cols
:一个布尔值。如果为True
,则重复的列名X,X...
被修改为X.0,X.1,...
。如果为False
,则重复的列名这样处理:后面的覆盖前面的dtype
:一个Type name
或者字典:column->type
。它可以给出每个列的类型。engine
:一个字符串,指定用什么解析引擎。可以为'c'/'python'
。c
更快,但是python
拥有更多特性converters
:一个字典,给出了每一列的转换函数。字典的键为代表列的位置的整数,或者代表列的名字的字符串。字典的值为可调用对象,参数为一个标量(就是每个元素值)true_values
:一个列表,给出了哪些值被认为是True
false_values
:一个列表,给出了哪些值被认为是False
skipinitialspace
:一个布尔值。如果为True
,则跳过分隔符之后的空白符skiprows
:一个array-like
或者整数。如果为序列,则指定跳过哪些行(从0计数);如果为整数,则指定跳过文件开头的多少行。注意:空行和注释行也包括在内,这一点和header
不同。skipfooter
:一个整数。指定跳过文件结尾的多少行。不支持engine='c'
skip_footer
:被废弃的参数nrows
:一个整数。指定读取多少行。na_values
:一个标量、字符串、字典、列表。指定哪些被识别为NAN
。默认的NAN
为列表['nan','NAN','NULL'....]
keep_default_na
:一个布尔值。如果为True
,则当你指定了na_values
时,默认的NAN
被追加到na_values
上;否则指定的na_values
代替了默认的NAN
na_filter
:一个布尔值。如果为True
,则不检查NaN
,此时解析速度大大加快(但是要求你的数据确实没有NAN
)verbose
:一个布尔值。如果为True
,输出解析日志skip_blank_lines
:一个布尔值。如果为True
,则跳过空白行,而不是解析为NaN
parse_dates
:一个布尔值、整数列表、标签列表、或者list of list or dict
。对于iso8601
格式的日期字符串,解析速度很快。- 如果为布尔值:如果为
True
,则解析index
为日期 - 如果为整数列表或者标签列表,则解析对应的列为日期
- 如果列表的列表,如
[[1,3]]
,则将列1和列3组合在一起,解析成一个单独的日期列 - 如果为字典,如
{'aaa':[1,3]}
,则将列1和列3组合在一起,解析成一个单独的日期列,日期列的名字为'aaa'
。
- 如果为布尔值:如果为
infer_datetime_format
:一个布尔值。如果为True
,且parse_dates
非空,则pandas
试图从数据中推断日期格式。keep_date_col
:一个布尔值。如果为True
,并且parse_dates
使用多个列合成一列日期,则保留原有的列date_parser
:一个函数对象。它将一列字符串转换成一列日期。dayfirse
:一个字符串。如果为True
,则日期格式为DD/MM
iterator
:一个布尔值。如果为True
,则返回一个TextFileReader
对象,该对象可以用于迭代或者.get_chunk()
来返回数据块chunksize
:一个整数。指定TextFileReader
对象.get_chunk()
返回的数据块的大小。compression
:一个字符串。可以为'infer','gzip','bz2','zip','xz',None
。如果文件为压缩文件,则它用于指定解压格式thousands
:一个字符串。指定了数值中千位数的分隔符,如999,999,999
decimal
:一个字符串,指定了小数点的分隔符,如9.999
float_precision
:一个字符串。指定了C engine
的转换浮点数的精度。None
普通转换,'high'
为高精度转换,'round_trip'
为round_trip
转换。lineterminator
:一个长度为1的字符串。指定了C engine
中的换行符quotechar
:一个长度为1的字符串,它指定了引用字符。比如"aaa,bbb"
,这种数据是引用数据。如果你用,
分隔,则有问题。在引用字符包围的数据中,不考虑分隔符。comment
:一个长度为1的字符串,指定了注释字符。如果该字符串出现在行中,则行末的字符不被解析。如果该字符串出现在行首,则本行不被就解析。encoding
:一个字符串,指定了编码类型error_bad_lines
:一个布尔值。如果为True
,则如果某一行有太多字段,则函数抛出异常。如果为False
,则抛弃该行,顺利解析。只用于C engine
warn_bad_lines
:一个布尔值。如果为True
,且error_bad_lines=False
,则对于异常的行,输出警告buffer_lines/compact_ints /use_unsigned
:被废弃的参数memory_map
:如果为True
,且filepath
是一个文件名,则使用内存映射,将文件映射到内存中。
read_table
也能完成read_csv
的功能。二者接口一致。xxxxxxxxxx
pandas.read_table(filepath_or_buffer, sep='\t', delimiter=None, header='infer', names=None, index_col=None, usecols=None, squeeze=False, prefix=None, mangle_dupe_cols=True, dtype=None, engine=None, converters=None, true_values=None, false_values=None, skipinitialspace=False,skiprows=None, nrows=None, na_values=None, keep_default_na=True, na_filter=True, verbose=False, skip_blank_lines=True, parse_dates=False,infer_datetime_format=False,keep_date_col=False, date_parser=None, dayfirst=False, iterator=False, chunksize=None, compression='infer', thousands=None, decimal='.', lineterminator=None, quotechar='"', quoting=0, escapechar=None, comment=None, encoding=None, dialect=None, tupleize_cols=False, error_bad_lines=True, warn_bad_lines=True, skipfooter=0, skip_footer=0, doublequote=True, delim_whitespace=False, as_recarray=False, compact_ints=False, use_unsigned=False, low_memory=True, buffer_lines=None, memory_map=False, float_precision=None)DataFrame/Series.to_csv
方法可以将数据写入到文件中xxxxxxxxxx
DataFrame.to_csv(path_or_buf=None, sep=', ', na_rep='', float_format=None, columns=None, header=True, index=True, index_label=None, mode='w', encoding=None, compression=None, quoting=None, quotechar='"', line_terminator='\n', chunksize=None, tupleize_cols=False, date_format=None, doublequote=True, escapechar=None, decimal='.') Series.to_csv(path=None, index=True, sep=', ', na_rep='', float_format=None, header=False, index_label=None, mode='w', encoding=None, date_format=None, decimal='.')path_or_buf
:一个字符串或者file
对象。指定写入的文件。如果为空,则返回一个字符串而不是写入文件sep
:一个字符串,指定字段的分隔符na_rep
:一个字符串,指定NaN
的代表字符串float_format
:一个字符串,指定了浮点数的格式化字符串columns
:一个序列,指定要写入哪些列header
:一个布尔值或者字符串列表。如果为True
,则写出列名。如果为字符串列表,则它直接指定了列名的别名index
:一个布尔值。如果为True
,则输出index label
mode
:一个字符串,文件操作的读写模式。默认为'w'
encoding
:一个字符串,指定编码方式compression
:一个字符串,指定压缩格式line_terminator
:一个字符串,指定换行符chunksize
:一个整数,指定了一次写入多少行date_format
:一个字符串,给出了日期格式化字符串decimal
:一个字符串,给出了小数点的格式tupleize_cols
:一个布尔值。如果为True
,则MultiIndex
被写成list of tuples
2. Json
read_json
能够读取Json
文件:xxxxxxxxxx
pandas.read_json(path_or_buf=None, orient=None, typ='frame', dtype=True, convert_axes=True, convert_dates=True, keep_default_dates=True, numpy=False, precise_float=False, date_unit=None, encoding=None, lines=False)path_or_buf
:一个字符串或者一个file-like
对象。如果是个字符串,则必须是个URL
(其中包含了协议名,如http//,ftp//,file//
等)orient
:一个字符串,指定了期望的JSON
格式。可选的格式有(参考to_json
的实例):'split'
:JSON
是个类似字典的格式:{index -> [index], columns -> [columns], data -> [values]}
'records'
:JSON
是个类似列表的格式:[{column -> value}, ... , {column -> value}]
'index'
:JSON
是个类似字典的格式{index -> {column -> value}}
'columns'
:JSON
是个类似字典的格式{column -> {index -> value}}
'values'
:JSON
就是值的序列
注意:如果
type=='series'
,则允许的'orients= {'split','records','index'}
,默认为'index'
,且如果为'index'
,则要求索引为唯一的。如果type=='frame'
,则允许上所有的格式,默认为'columns'
,且如果为'index'/'columns'
,则要求DataFrame.index
为唯一的;如果'index'/'columns'/'records'
,则要求DataFrame.columns
为唯一的typ
:一个字符串,指定将JSON
转换为Series/DataFrame
那一种。可以为'series'
,'frame'
dtype
:一个布尔值或者字典。如果为True
,则自动推断数值类型。如果为False
,则不推断类型。如果为字典,则给出了每一列的数值类型convert_axes
:一个布尔值,如果为True
,则试图转换到合适的数值类型convert_dates
:一个布尔值,如果为True
,则试图转换日期列为日期。它转换下面这些列名的列:列名以'_at'/'_time'
结束、列名以'timestamp'
开始、列名为'mofified'/'date'
keep_default_dates
:一个布尔值。如果为True
,则当转换日期列时,保留原列numpy
:一个布尔值,如果为True
,则直接转换为ndarray
precise_float
:一个布尔值,如果为True
,则使用解析为更高精度的浮点数date_unit
:一个字符串。用于转换时间戳到日期。它提供时间戳的单位,如's'/'ms'
lines
:一个布尔值。如果为True
,则读取文件的每一行作为一个JSON
-encoding
:一个字符串,指定编码方式
将
pandas
对象保存成JSON
:xxxxxxxxxx
Series/DataFrame.to_json(path_or_buf=None, orient=None, date_format='epoch', double_precision=10, force_ascii=True, date_unit='ms', default_handler=None, lines=False)path_or_buf
:指定保存的地方。如果为None
,则该函数返回一个StringIO
对象orient
参数:参考read_json()
date_format
:一个字符串,指定日期转换格式。可以为'epoch'
(从1970-1-1
日以来的毫秒数)、'iso'
double_precision
:一个整数,指定了浮点数的精度force_ascii
:一个布尔值,如果为True
,则将encoded string
转换成ASCII
date_unit
:一个字符串,参考read_json
default_handler
:一个可调用对象。用于处理当对象无法转换成JSON
的情况。它只有一个参数,就是被转换的对象lines
:一个布尔值。如果orient='records'
时,输出换行符。对其他格式则抛出异常
3. 二进制文件
pandas.read_pickle(path)
可以从pickle
文件中读取数据,path
为pickle
文件的文件名。Series/DataFrame.to_pickle(path)
:将Series/DataFrame
保存到pickle
文件中,path
为pickle
文件的文件名。
4. Excel 文件
read_excel
读取Excel
文件。需要用到第三方包xlrd/xlwt
,前者读excel
,后者写excel
xxxxxxxxxx
pandas.read_excel(io, sheetname=0, header=0, skiprows=None, skip_footer=0, index_col=None, names=None, parse_cols=None, parse_dates=False, date_parser=None, na_values=None, thousands=None, convert_float=True, has_index_names=None, converters=None, true_values=None, false_values=None, engine=None, squeeze=False, **kwds)io
:一个字符串,或者file-like
对象。如果是个字符串,则必须是个URL
(其中包含了协议名,如http//,ftp//,file//
等)sheetname
:一个字符串或者整数,或者列表。它指定选取Excel
文件中哪个sheet
。字符串指定的是sheet
名,整数指定的是sheet
的位置(0为第一个sheet
)engine
:一个字符串,指定了读写Excel
的引擎。可以为:io.excel.xlsx.writer
、io.excel.xls.writer
、io.excel.xlsm.writer
、- 其他参数参考
read_csv
保存
DataFrame
到Excel
文件:xxxxxxxxxx
DataFrame.to_excel(excel_writer, sheet_name='Sheet1', na_rep='', float_format=None, columns=None, header=True, index=True, index_label=None, startrow=0, startcol=0, engine=None, merge_cells=True, encoding=None, inf_rep='inf', verbose=True)excel_writer
:一个字符串(文件名)或者一个ExcelWriter
对象sheet_name
:一个字符串,指定sheet
名na_rep
:一个字符串,代表NaN
startrow/startcol
:指定了左上角的单元格的位置engine
:一个字符串,指定了读写Excel
的引擎。可以为:io.excel.xlsx.writer
、io.excel.xls.writer
、io.excel.xlsm.writer
、merge_cells
:一个布尔值。如果为True
,则多级索引中,某些索引会合并单元格inf_rep
:一个字符串,只代表无穷大。
5. HTML 表格
read_html
可以将HTML
中的<table></table>
解析为一个DataFrame
列表。xxxxxxxxxx
pandas.read_html(io, match='.+', flavor=None, header=None, index_col=None, skiprows=None, attrs=None, parse_dates=False, tupleize_cols=False, thousands=', ', encoding=None, decimal='.', converters=None, na_values=None, keep_default_na=True)io
:为一个字符串或者一个file-like
对象。match
:一个字符串或者正则表达式。HTML
中的<table></table>
中,只要匹配这个正则表达式的表格都被处理。默认的为匹配任何非空的表格flavor
:一个字符串,指定了解析引擎。可以为'bs4'
或者'html5lib'
或者'lxml'
attrs
:一个字典。它筛选出你要解析哪些表格- 其他参数参考
read_csv
可以通过
DataFrame.to_html()
转换为HTML
的表格:xxxxxxxxxx
DataFrame.to_html(buf=None, columns=None, col_space=None, header=True, index=True, na_rep='NaN', formatters=None, float_format=None, sparsify=None, index_names=True, justify=None, bold_rows=True, classes=None, escape=True, max_rows=None, max_cols=None, show_dimensions=False, notebook=False, decimal='.', border=None)bold_rows
:一个布尔值。如果为True
,则让row label
加粗classes
:一个字符串或者列表或者元组,给出了table
的css class
escape
:一个布尔值,如果为True
,则将字符<>&
为安全的HTML
字符max_rows
:一个整数,指定最大输出行数。默认显示全部的行decimal
:一个字符串,指定了小数点的格式border
:一个整数,给出了border
属性的值。buf
:指定将HTML
写到哪里,它是一个StringIO-like
对象col_space
:一个整数,给出每一列最小宽度header
:一个布尔值,如果为True
,则打印列名columns
:一个序列,指定要输出哪些列index
:一个布尔值,如果为True
,则打印index labels
formatters
:一个一元函数的列表,或者一元函数的字典。给出了每一列的转换成字符串的函数float_format
:一个一元函数,给出了浮点数转换成字符串的函数justify
:左对齐还是右对齐。可以为'left'
/'right'
6. SQL
read_sql_table
从指定数据表中,提取你所需要的列。xxxxxxxxxx
pandas.read_sql_table(table_name, con, schema=None, index_col=None, coerce_float=True, parse_dates=None, columns=None, chunksize=None)table_name
:一个字符串,指定了数据库的表名con
:一个SQLAlchemy conectable
或者一个database string URI
,指定了连接对象它就是SQLAlchemy
中的Engine
对象。schema
:一个字符串,给出了SQL schema
(在mysql
中就是database
)index_col
:一个字符串或者字符串列表,指定哪一列或者哪些列作为index
coerce_float
:一个布尔值,如果为True
,则试图转换结果到数值类型parse_dates
:一个列表或者字典。指定如何解析日期:- 列名的列表:这些列将被解析为日期
- 字典
{col_name:format_str}
:给出了那些列被解析为日期,以及解析字符串 - 字典
{col_name:arg dict}
:给出了哪些列被解析为日期,arg dict
将传递给pandas.to_datetime()
函数来解析日期
columns
:一个列表,给出了将从sql
中提取哪些列chunksize
:一个整数。如果给出了,则函数返回的是一个迭代器,每次迭代时,返回chunksize
行的数据。
read_sql_query
可以选择select query
语句。因此你可以执行多表联合查询。xxxxxxxxxx
pandas.read_sql_query(sql, con, index_col=None, coerce_float=True, params=None, parse_dates=None, chunksize=None)sql
:一个SQL
查询字符串,或者SQLAlchemy Selectable
对象。params
:一个列表,元组或者字典。用于传递给sql
查询语句。比如:sql
为uses %(name)s...
,因此params
为{'name':'xxxx'}
- 其他参数见
read_sql_table
read_sql
是前两者的一个包装,它可以根据sql
参数,自由地选择使用哪个方式。xxxxxxxxxx
pandas.read_sql(sql, con, index_col=None, coerce_float=True, params=None, parse_dates=None, columns=None, chunksize=None)sql
:一个数据表名,或者查询字符串,或者SQLAlchemy Selectable
对象。如果为表名,则使用read_sql_table
;如果为后两者,则使用read_sql_query
pandas
对象的.to_sql()
方法用于插入数据库。xxxxxxxxxx
Series/DataFrame.to_sql(name, con, flavor=None, schema=None, if_exists='fail', index=True, index_label=None, chunksize=None, dtype=None)name
:一个字符串,指定表名con
:一个SQLAlchemy conectable
或者一个database string URI
,指定了连接对象。它就是SQLAlchemy
中的Engine
对象。flavor
:被废弃的参数schema
:一个字符串,指定了SQL schema
if_exists
:一个字符串,指定当数据表已存在时如何。可以为:'fail'
:什么都不做(即不存储数据)'replace'
:删除数据表,创建新表,然后插入数据'append'
:如果数据表不存在则创建数据表然后插入数据。入股数据表已存在,则追加数据index
:一个布尔值。如果为True
,则将index
作为一列数据插入数据库index_label
:index
的存储名。如果index=True
,且index_label=None
,则使用index.name
chunksize
:一个整数。 如果为None
,则一次写入所有的记录。如果非空,则一次写入chunksize
大小的记录dtype
:一个字典。给出了各列的存储类型。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论