Pandas | 25 文件读写
2024-09-08 08:16:20
Pandas I/O API是一套像pd.read_csv()
一样返回Pandas
对象的顶级读取器函数。
读取文本文件(或平面文件)的两个主要功能是read_csv()
和read_table()
。它们都使用相同的解析代码来智能地将表格数据转换为DataFrame
对象
pandas.read_csv(filepath_or_buffer, sep=',', delimiter=None, header='infer', names=None, index_col=None, usecols=None)
形式2
pandas.read_csv(filepath_or_buffer, sep='\t', delimiter=None, header='infer', names=None, index_col=None, usecols=None)
以下是csv文件数据的内容 -
S.No,Name,Age,City,Salary
,Tom,,Toronto,
,Lee,,HongKong,
,Steven,,Bay Area,
,Ram,,Hyderabad,
将这些数据保存为temp.csv
并对其进行操作。
S.No,Name,Age,City,Salary
,Tom,,Toronto,
,Lee,,HongKong,
,Steven,,Bay Area,
,Ram,,Hyderabad,
read.csv
read.csv
从csv文件中读取数据并创建一个DataFrame
对象。
import pandas as pd df=pd.read_csv("temp.csv")
print (df)
输出结果:
S.No Name Age City Salary
Tom Toronto
Lee HongKong
Steven Bay Area
Ram Hyderabad
自定义索引
可以指定csv文件中的一列来使用index_col
定制索引。
import pandas as pd df=pd.read_csv("temp.csv",index_col=['S.No'])
print (df)
输出结果:
Name Age City Salary
S.No
Tom Toronto
Lee HongKong
Steven Bay Area
Ram Hyderabad
转换器dtype
的列可以作为字典传递。
import pandas as pd
import numpy as np df = pd.read_csv("temp.csv", dtype={'Salary': np.float64})
print (df.dtypes)
输出结果:
S.No int64
Name object
Age int64
City object
Salary float64
dtype: object
默认情况下,Salary列的dtype
是int
,但结果显示为float
,因为我们明确地转换了类型。
因此,数据看起来像浮点数 -
S.No Name Age City Salary
0 1 Tom 28 Toronto 20000.0
1 2 Lee 32 HongKong 3000.0
2 3 Steven 43 Bay Area 8300.0
3 4 Ram 38 Hyderabad 3900.0
header_names
使用names
参数指定标题的名称。
import pandas as pd
import numpy as np df=pd.read_csv("temp.csv", names=['a', 'b', 'c','d','e'])
print (df)
输出结果:
a b c d e
0 S.No Name Age City Salary
1 1 Tom 28 Toronto 20000
2 2 Lee 32 HongKong 3000
3 3 Steven 43 Bay Area 8300
4 4 Ram 38 Hyderabad 3900
观察可以看到,标题名称附加了自定义名称,但文件中的标题还没有被消除。 现在,使用header
参数来删除它。
如果标题不是第一行,则将行号传递给标题。这将跳过前面的行。
import pandas as pd
import numpy as np df=pd.read_csv("temp.csv",names=['a','b','c','d','e'],header=0)
print (df)
输出结果:
a b c d e
0 1 Tom 28 Toronto 20000
1 2 Lee 32 HongKong 3000
2 3 Steven 43 Bay Area 8300
3 4 Ram 38 Hyderabad 3900
skiprows
skiprows
跳过指定的行数。参考以下示例代码 -
import pandas as pd
import numpy as np df=pd.read_csv("temp.csv", skiprows=2)
print (df)
输出结果:
2 Lee 32 HongKong 3000
0 3 Steven 43 Bay Area 8300
1 4 Ram 38 Hyderabad 3900
最新文章
- Dev控件GridView单元格绑定控件
- 类型转换bin()、chr()、ord() 、int()、float()、str()、repr()、bytes()、tuple(s )、 list(s )   、unichr(x ) 、 ord(x )  、 hex(x )  、          type()数据类型查询
- Effective C++ -----条款30:透彻了解inlining的里里外外
- TKinter事件及绑定
- Debian 中添加ppa
- 在MAC系统上进行屏幕录制
- ADO.NET——获取output 和 return值
- php获取汉字首字母
- 用百度API实现热(WIFI)、GPS、基站定位
- Lua 迭代器
- Shell命令替换与变量替换
- HTML学习(四)样式
- Spring + Spring MVC + MyBatis 整合
- EBS 可拓展的外部信用风险导入
- 树的广度优先遍历和深度优先遍历(递归非递归、Java实现)
- Netty中如何写大型数据
- Postman-----将 A 请求中 response Body 中的参数值传入到下一个请求 B 的 request body 中作为参数发送请求
- .net aop 操作 切面应用 Castle.Windsor框架 spring 可根据接口 自动生成一个空的实现接口的类
- sklearn.linear_model.LinearRegression
- 6-3-1appium iOS
热门文章
- Oracle函数sys_connect_by_path用法
- Python 发送企业微信消息
- git 版本(commit) 回退 -- 使用git reset 指令
- Java8 新特性 Stream 非短路终端操作
- gcc/g++ -O 优化选项说明
- 【C++】Debug模式和Release模式的区别
- [转帖]【译】RAID的概念和RAID对于SQL性能的影响
- MonkeyDev安装--逆向开发
- 【03】Kubernets:K8S 操作入门
- Java中如何获取一个类中泛型的实际类型