- Python数据科学教程
- Python数据科学 - 首页
- Python数据科学 - 入门
- Python数据科学 - 环境设置
- Python数据科学 - Pandas
- Python数据科学 - Numpy
- Python数据科学 - SciPy
- Python数据科学 - Matplotlib
- Python数据处理
- Python数据操作
- Python数据清洗
- Python处理CSV数据
- Python处理JSON数据
- Python处理XLS数据
- Python关系型数据库
- Python NoSQL数据库
- Python日期和时间
- Python数据整理
- Python数据聚合
- Python读取HTML页面
- Python处理非结构化数据
- Python词元化
- Python词干提取和词形还原
- Python数据可视化
- Python图表属性
- Python图表样式
- Python箱线图
- Python热力图
- Python散点图
- Python气泡图
- Python 3D图表
- Python时间序列
- Python地理数据
- Python图数据
Python - 处理CSV数据
读取CSV(逗号分隔值)数据是数据科学中的基本需求。通常,我们从各种来源获取数据,这些数据可以导出为CSV格式,以便其他系统使用。Pandas库提供了功能,我们可以使用这些功能完整读取CSV文件,也可以仅读取选定列和行的部分数据。
CSV文件作为输入
CSV文件是一个文本文件,其中列中的值以逗号分隔。让我们考虑一下名为input.csv文件中存在以下数据。
您可以使用Windows记事本复制粘贴此数据来创建此文件。使用记事本中的“另存为所有文件(*.*)”选项将文件保存为input.csv。
id,name,salary,start_date,dept 1,Rick,623.3,2012-01-01,IT 2,Dan,515.2,2013-09-23,Operations 3,Tusar,611,2014-11-15,IT 4,Ryan,729,2014-05-11,HR 5,Gary,843.25,2015-03-27,Finance 6,Rasmi,578,2013-05-21,IT 7,Pranab,632.8,2013-07-30,Operations 8,Guru,722.5,2014-06-17,Finance
读取CSV文件
Pandas库的read_csv函数用于将CSV文件的内容作为Pandas DataFrame读取到Python环境中。该函数可以使用文件的正确路径从操作系统读取文件。
import pandas as pd data = pd.read_csv('path/input.csv') print (data)
当我们执行上述代码时,它会产生以下结果。请注意,该函数如何创建了一个从零开始的附加索引列。
id name salary start_date dept 0 1 Rick 623.30 2012-01-01 IT 1 2 Dan 515.20 2013-09-23 Operations 2 3 Tusar 611.00 2014-11-15 IT 3 4 Ryan 729.00 2014-05-11 HR 4 5 Gary 843.25 2015-03-27 Finance 5 6 Rasmi 578.00 2013-05-21 IT 6 7 Pranab 632.80 2013-07-30 Operations 7 8 Guru 722.50 2014-06-17 Finance
读取特定行
Pandas库的read_csv函数也可以用于读取给定列的某些特定行。我们使用下面显示的代码对名为“salary”的列的前5行进行切片。
import pandas as pd data = pd.read_csv('path/input.csv') # Slice the result for first 5 rows print (data[0:5]['salary'])
当我们执行上述代码时,它会产生以下结果。
0 623.30 1 515.20 2 611.00 3 729.00 4 843.25 Name: salary, dtype: float64
读取特定列
Pandas库的read_csv函数也可以用于读取某些特定列。为此,我们使用名为.loc()的多轴索引方法。我们选择显示所有行的“salary”和“name”列。
import pandas as pd data = pd.read_csv('path/input.csv') # Use the multi-axes indexing funtion print (data.loc[:,['salary','name']])
当我们执行上述代码时,它会产生以下结果。
salary name 0 623.30 Rick 1 515.20 Dan 2 611.00 Tusar 3 729.00 Ryan 4 843.25 Gary 5 578.00 Rasmi 6 632.80 Pranab 7 722.50 Guru
读取特定列和行
Pandas库的read_csv函数也可以用于读取某些特定列和特定行。为此,我们使用名为.loc()的多轴索引方法。我们选择显示某些行的“salary”和“name”列。
import pandas as pd data = pd.read_csv('path/input.csv') # Use the multi-axes indexing funtion print (data.loc[[1,3,5],['salary','name']])
当我们执行上述代码时,它会产生以下结果。
salary name 1 515.2 Dan 3 729.0 Ryan 5 578.0 Rasmi
读取特定列的特定行范围
Pandas库的read_csv函数也可以用于读取某些特定列和特定行范围。为此,我们使用名为.loc()的多轴索引方法。我们选择显示某些行的“salary”和“name”列。
import pandas as pd data = pd.read_csv('path/input.csv') # Use the multi-axes indexing funtion print (data.loc[2:6,['salary','name']])
当我们执行上述代码时,它会产生以下结果。
salary name 2 611.00 Tusar 3 729.00 Ryan 4 843.25 Gary 5 578.00 Rasmi 6 632.80 Pranab