一、read_csv 基本参数。
二、通用解析参数。
三、读取网络数据
-
path
文件路径。
-
sep 或者 delimiter
分隔符号。默认逗号(,) 可以是回车(\r) 换行(\n) tab(\t)。同时分隔符还支持正则表达式,其中 \s 表示空白字符,包括但不限于空格、回车(\r)、换行(\n)、tab或者叫水平制表符(\t)等。+ 是重复修饰符,表示它前面与它紧邻的表达式格式相匹配的字符串至少出现一个,上不封顶。因此用 \s+ 来匹配至少有一个空白字符存在的分隔符。
-
header
表头,默认是0(第一行),如果没有应为 None。
-
index_col
指定索引,不指定时使用从0开始的自然索引。
-
names
用来指定列的名称 。
a. csv文件有表头且是第一行,那么header和names都无需指定;
b. csv文件有表头,但是表头不是第一行,这个时候需要指定header;
c. csv文件没表头,通过names手动生成表头;
d. csv文件有表头,但是不想用,这时需要指定names和header。
-
usecols
指定只读取哪几列。用序号或者列名,eg: usecols=[0,1,2,3] 或者 usecols=[‘东四’, ‘天坛’, ‘官园’]。
-
skiprows
文跳过的行数 。
a. kiprows = 8 跳过前8行;
b. skiprows = [2,4] 跳过第 2 4 行;
c. skiprows=[0], header=None 跳过列名;
d. skiprows=lambda x: x % 2 !=0 跳过奇数行。
-
nrows
指定需要读取的行数。。
import pandas as pd
path = 'C:\\Users\\Administrator\\libin_work\\beijing.csv'
df = pd.read_csv(path)
# sep 为正则
df = pd.read_csv(path, sep=r'\s+')
# delim_whitespace,默认为 False,设置为 True 时,表示分割符为空白字符,可以是空格、"\t"等等。等效于设置sep ='\s+'。
# 如果此选项设置为True,则不应该为delimiter参数传递任何内容。
df = pd.read_csv(path, delim_whitespace=True)
# names用来指定列的名称,它是一个类似列表的序列,与数据一一对应。
# 如果文件不包含列名,那么应该设置header=None,列名列表中不允许有重复值。
df = pd.read_csv(path, sep=',', names=range(38))
# index_col用来指定索引列,可以是行索引的列编号或者列名,
# 如果给一个列表,则有多个行索引。Pandas不会自动将第一列作为索引,不指定时会自动使用以0开始的自然索引。
df = pd.read_csv(path, index_col='hour')
df = pd.read_csv(path, index_col=['date', 'hour', 'type'])
# 除了传入具体的数值,来表明要过滤掉哪些行,还可以传入一个函数,隔行跳过。
df = pd.read_csv(path, skiprows=lambda x: x % 2 != 0)
# skip_blank_lines指定是否跳过空行,如果为True,则跳过空行,否则数据记为NaN。
df = pd.read_csv(path, delim_whitespace=True, skip_blank_lines=False)
df = pd.read_csv(
path, # 这里是 path=path 的简写
sep = ',',
header = None,
usecols = [0,1,2,3,9,10],
skiprows = 3,
nrows = 100
-
prefix
表头前缀,表头前缀。eg: prefix=‘region_’。
-
converters'
通过字典的形式传入,字典的建是列名或者列的序号,字典的值是处理函数。
-
na_values
空值替换,根据给出的数值设置为缺测值。eg: na_values=20200101 相当于将所有的 20200101 这个值设置为 NaN。
-
parse_dates
时间解析,将string转换为时间对象。
import pandas as pd
# 使用converters参数对列的数据进行转换,参数中指定列名与针对此列的处理函数,最终以字典的形式传入,
# 字典的键可以是列名或者列的序号。
# 将 date 列数数据 进行格式转换
df = pd.read_csv(
'C:\\Users\\Administrator\\libin_work\\beijing.csv',
converters={'date': lambda x: pd.to_datetime(x)}
# 如果没有对date列做时间转换,原来的列就只是整数,而现在是datetime64的类型。
#datetime64类型支持我们做更多的时间上的操作, eg: 通过dt属性我们可以获取数组中具体的年月日。
df['date'].dt.year, df['date'].dt.month, df['date'].dt.day
df = pd.read_csv(
'C:\\Users\\Administrator\\libin_work\\beijing.csv',
sep = ',',
parse_dates={'time': ['date', 'hour']},
# 使用 parse_dates 的时候需要用 converters 将所有的 hour 转换成2位数(1变成01)
converters={'hour': lambda x: x.zfill(2)}
import pandas as pd
pd.read_csv('https://vincentarelbundock.github.io/Rdatasets/csv/AER/ChinaIncome.csv')
conda安装软件报兼容性问题的解决 Found conflicts! Looking for incompatible packages.failed.UnsatisfiableError
2023年3月5日 下午5:00
【bug】ImportError: cannot import name ‘_DataLoaderIter‘ from ‘torch.utils.data.dataloader‘
2022年4月20日
踩坑系列之pytorch安装之后不能使用cuda
2023年3月7日
Anaconda中pip install和conda install添加环境依赖包区别
2022年2月24日
解决python调用opencv时出现cannot find reference ‘imread‘ in __init__ 即cv.imread 未定义引用
2023年6月20日
一、PyQt基础知识
2023年5月24日
保研笔记八——YOLOV5项目复习
2023年3月4日
ChatGLM实战 – 文本信息抽取
2023年6月10日
fatal error: opencv/cv.h: 没有那个文件或目录 错误;fatal error: opencv2/contrib/contrib.hpp: 没有那个文件或目录,opencv多版本
2023年3月4日
Python课程设计之俄罗斯方块
2023年6月7日
【深度学习】Windows10中下安装多版本CUDA及其切换
2023年5月13日
基于Python的管理系统(附源码)
2023年3月10日
【Python零基础学习入门篇②】——第二节:Python的常用语句
2023年5月23日
python用bs4爬取豆瓣电影排行榜 Top 250的电影信息和电影图片,分别保存到csv文件和文件夹中
2022年6月1日