首页
关于
Search
1
git lg彩色显示日志
24 阅读
2
在 Ubuntu 22.04 LTS 中安装 Docker
19 阅读
3
CentOs/Ubuntu搭建上网x-ui
18 阅读
4
git使用多个源和多个分支
15 阅读
5
git保存账号密码
14 阅读
默认分类
网站搭建
Windows
Linux
Docker
OpenWrt
Hackintosh
Git
Python
Pandas
Web开发
JavaScript
FFmpeg
Demo
工具
刷机
油猴脚本
Excel
Chrome Extension
登录
Search
标签搜索
Pandas
读取
时区
Chrome
centos8
求和
Nginx
Typecho
404
csv
国际站
询盘导出
油猴脚本
bbr
Ubuntu
远程桌面
日志
log
数据清洗
打印机
野生程序猿
累计撰写
151
篇文章
累计收到
0
条评论
首页
栏目
默认分类
网站搭建
Windows
Linux
Docker
OpenWrt
Hackintosh
Git
Python
Pandas
Web开发
JavaScript
FFmpeg
Demo
工具
刷机
油猴脚本
Excel
Chrome Extension
页面
关于
搜索到
2
篇与
的结果
2022-05-20
Pandas常用函数之read_csv()
pd.read_csv()pd.read_csv( filepath_or_buffer: 'FilePathOrBuffer', sep=<no_default>, delimiter=None, header='infer', names=<no_default>, index_col=None, usecols=None, squeeze=False, prefix=<no_default>, mangle_dupe_cols=True, dtype: 'DtypeArg | None' = None, engine=None, converters=None, true_values=None, false_values=None, skipinitialspace=False, skiprows=None, skipfooter=0, 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, cache_dates=True, iterator=False, chunksize=None, compression='infer', thousands=None, decimal: 'str' = '.', lineterminator=None, quotechar='"', quoting=0, doublequote=True, escapechar=None, comment=None, encoding=None, encoding_errors: 'str | None' = 'strict', dialect=None, error_bad_lines=None, warn_bad_lines=None, on_bad_lines=None, delim_whitespace=False, low_memory=True, memory_map=False, float_precision=None, storage_options: 'StorageOptions' = None, )分隔符 sep# str, default ‘,’ # 数据分隔转化是逗号, 如果是其他可以指定 pd.read_csv(data, sep='\t') # 制表符分隔 tab pd.read_table(data) # read_table 默认是制表符分隔 tab pd.read_csv(data, sep='|') # 制表符分隔 tab pd.read_csv(data,sep="(?<!a)\|(?!1)", engine='python') # 使用正则引擎 engine使用的分析引擎,可以选择C或者是python。C 语言速度最快,python 的功能最为完善。# engine=None, {‘c’, ‘python’, ‘pyarrow’}, optional pd.read_csv(data, engine='c')列数据处理 converters对列的数据进行转换,列名与函数组成的字典。key 可以是列名或者列的序号。# dict, default None data = 'x,y\na,1\nb,2' def foo(p): return p+'s' # x 应用函数, y 使用 lambda pd.read_csv(StringIO(data), converters={'x': foo, 'y': lambda x: x*3}) # 使用列索引 pd.read_csv(StringIO(data), converters={0: foo, 1: lambda x: x*3})编码 encoding指定字符集类型,通常指定为'utf-8'。 参见 Python标准编码列表 。如果不知道文件是什么编码,可以借助 codecs 和 chardet 这两个三方库在检测文件的编码方式。# str, default None pd.read_csv('gairuo.csv', encoding='utf8') pd.read_csv("gairuo.csv",encoding="gb2312") # 常见中文 # 其他常用编码 ISO-8859-1 latin-1 gbk
2022年05月20日
2 阅读
0 评论
0 点赞
2022-05-19
Pandas常用函数之read_excel()
1.读取表格pd.read_excel(io, sheet_name=0, header=0, names=None, index_col=None, usecols=None, squeeze=False, dtype=None, engine=None, converters=None, true_values=None, false_values=None, skiprows=None, nrows=None, na_values=None, keep_default_na=True, verbose=False, parse_dates=False, date_parser=None, thousands=None, comment=None, skipfooter=0, convert_float=True, mangle_dupe_cols=True, **kwds) #openpyxl,表格 sheet_name可以指定 Excel 文件读取哪个 sheet,默认取第一个。# str, int, list, or None, default 0 pd.read_excel('tmp.xlsx', sheet_name=1) # 第二个 sheet pd.read_excel('tmp.xlsx', sheet_name='总结表') # 按 sheet 的名字 # 取第一个、第二个、名为 Sheet5 的,返回一个 df 组成的字典 dfs = pd.read_excel('tmp.xlsx', sheet_name=[0, 1, "Sheet5"]) dfs = pd.read_excel('tmp.xlsx', sheet_name=None) # 所有的 sheet dfs['Sheet5'] # 读取时按 sheet 名表头 header# int, list of int, default 0 pd.read_excel('tmp.xlsx', header=None) # 不设表头 pd.read_excel('tmp.xlsx', header=2) # 第三行为表头 pd.read_excel('tmp.xlsx', header=[0, 1]) # 两层表头,多层索引列名/表头名 names默认取数据中默认的表头名称,可以重新指定。# array-like, default None pd.read_excel('tmp.xlsx', names=['姓名', '年龄', '成绩']) pd.read_excel('tmp.xlsx', names=c_list) # 传入列表变量 # 没有表头,需要设置为 None pd.read_excel('tmp.xlsx', header=None, names=None)索引列 index_col作为索引的列,默认不设置,使用自然索引(从 0 开始)。# int, list of int, default None pd.read_excel('tmp.xlsx', index_col=0) # 指定第一列 pd.read_excel('tmp.xlsx', index_col=[0,1]) # 前两列,多层索引使用列 usecols指定使用的列,其余的不读取,默认是全部使用。pd.read_excel('tmp.xlsx', usecols='A:H') # 取 A 到 H 列 pd.read_excel('tmp.xlsx', usecols='A,C,E:H') # 取 A和C列,再加E到H列 pd.read_excel('tmp.xlsx', usecols=[0,1]) # 取前两列 pd.read_excel('tmp.xlsx', usecols=['姓名','性别']) # 取指定列名的列 # 表头包含 Q 的 pd.read_excel('team.xlsx', usecols=lambda x: 'Q' in x)返回序列 squeezebool如果只要一列,则返回一个 Series,默认还是 DataFrame。# default False pd.read_excel('tmp.xlsx', usecols='A', squeezebool=True)数据类型 dtype数据类型,如果不传则自动推断。如果被 converters 处理则不生效。# Type name or dict of column -> type, default None pd.read_excel(data, dtype=np.float64) # 所有数据均为此数据类型 pd.read_excel(data, dtype={'c1':np.float64, 'c2': str}) # 指定字段的类型 pd.read_excel(data, dtype=[datetime, datetime, str, float]) # 依次指定处理引擎 engine可接受的参数值是 “xlrd”, “openpyxl” 或者 “odf”,如果文件不是缓冲或路径,就需要指定,用于处理 excel 使用的引擎,三方库。# str, default None pd.read_excel('tmp.xlsx', engine='xlrd')默认的 xlrd 引擎不会读取内容为星号*、百分号 % 等特殊字符的行,可以更换为 openpyxl 解决。Excel 的三方库依赖:从 Pandas 1.3 版本开始,在读取新的 Excel 2007+(.xlsx)文件时,read_excel() 默认参数 engine=None,将配置项 io.Excel.xlsx.reader 设置为“auto”时,都会使用 openpyxl 引擎。以前,有些情况下会使用 xlrd 引擎。由于不再维护用于编写旧式 .xls Excel 文件的 xlwt 包。从 Pandas 1.2 开始,xlrd 包现在仅用于读取旧式 .xls 文件。以前,read_excel() 的默认参数 engine=None 下使用 xlrd 引擎,包括新的 Excel 2007+(.xlsx)文件。如果安装了openpyxl,许多情况下现在将默认使用 openpyxl 引擎。因此,强烈建议安装 openpyxl 来读取Excel 2007+(.xlsx)文件。使用 xlrd 读取 .xlsx 文件时,不再支持,请改为使用 openpyxl。除非选项 io.excel.xls.writer 设置为“xlwt”,否则尝试使用 xlwt 引擎将发出未来警告。虽然此选项现在已被弃用,并且还会引发 FutureWarning,但可以全局设置此选项并抑制警告。建议用户使用 openpyxl 引擎编写 .xlsx 文件。列数据处理 converters对列的数据进行转换,列名与函数组成的字典。key 可以是列名或者列的序号。# dict, default None def foo(p): return p + 's' # x 应用函数, y 使用 lambda pd.read_excel('tmp.xlsx', converters={'x': foo, 'y': lambda x: x * 3}) # 使用列索引 pd.read_excel('tmp.xlsx', converters={0: foo, 1: lambda x: x * 3})真假值指定 true_values false_values将指定的文本转换为 True 或者 False, 可以用列表指定多个值。# list, default None pd.read_excel('tmp.xlsx', true_values=['Yes'], false_values=['No'])跳过指定行 skiprows# list-like, int or callable, optional # 跳过前三行 pd.read_excel(data, skiprows=2) # 跳过前三行 pd.read_excel(data, skiprows=range(2)) # 跳过指定行 pd.read_excel(data, skiprows=[24,234,141]) # 跳过指定行 pd.read_excel(data, skiprows=np.array([2, 6, 11])) # 隔行跳过 pd.read_excel(data, skiprows=lambda x: x % 2 != 0) # 跳过最后几行用 skipfooter=2读取行数 nrows需要读取的行数,从文件开头算起,经常用于较大的数据,先取部分进行代码编写。# int, default None pd.read_excel(data, nrows=1000)空值替换 na_values一组用于替换 NA/NaN 的值。如果传参,需要制定特定列的空值。# scalar, str, list-like, or dict, default None # 5 和 5.0 会被认为 NaN pd.read_excel(data, na_values=[5]) # ? 会被认为 NaN pd.read_excel(data, na_values='?') # 空值为 NaN pd.read_excel(data, keep_default_na=False, na_values=[""]) # 字符 NA 字符 0 会被认为 NaN pd.read_excel(data, keep_default_na=False, na_values=["NA", "0"]) # Nope 会被认为 NaN pd.read_excel(data, na_values=["Nope"]) # a、b、c 均会被认为 NaN 等于 na_values=['a','b','c'] pd.read_excel(data, na_values='abc') # 指定列的指定值会被认为 NaN pd.read_excel(data, na_values={'c':3, 1:[2,5]})日期时间解析 parse_dates# boolean or list of ints or names or list of lists or dict, default False. pd.read_excel(data, parse_dates=True) # 自动解析日期时间格式 pd.read_excel(data, parse_dates=['年份']) # 指定日期时间字段进行解析 # 将 1、4 列合并解析成名为 时间的 时间类型列 pd.read_excel(data, parse_dates={'时间':[1,4]})日期时间解析器 date_parser用于解析日期的函数,默认使用dateutil.parser.parser来做转换。Pandas 尝试使用三种不同的方式解析,如果遇到问题则使用下一种方式。使用一个或者多个arrays(由parse_dates指定)作为参数;连接指定多列字符串作为一个列作为参数;每行调用一次date_parser函数来解析一个或者多个字符串(由parse_dates指定)作为参数。千分位分割符 thousands# str, default None pd.read_excel(data, thousands=',') # 逗号分隔转为浮点 convert_float读取 Excel 默认把数字转为浮点,设为 False 将保留整型。# bool, default True pd.read_excel('tmp.xlsx', convert_float=False)
2022年05月19日
5 阅读
0 评论
0 点赞