首页 > 编程语言 >Python数据文件的读取——Pandas库的使用

Python数据文件的读取——Pandas库的使用

时间:2023-11-28 21:36:29浏览次数:40  
标签:None sheet 读取 Python DataFrame 默认 csv Pandas 数据文件

Pandas 是一个强大的数据分析库,它提供了一个名为 DataFrame 的数据结构,类似于 R 中的 data.frame。DataFrame 是一个二维的、标签化的数据结构,可以包含不同数据类型的列。它提供了许多方便的功能,如数据选择、过滤、合并、排序等,使得数据分析和处理变得更加容易。Pandas 的 DataFrame 是为了更方便地处理表格形式的数据而设计的,提供了丰富的功能和方法。虽然它在数据分析和处理中非常流行,但并不是 Python 中唯一的数据格式。

一、Pandas获取数据信息函数

Pandas 库是机器学习四个基础库之一, 它有着强大的数据分析能力和处理工具。它支持数据增、删、改、查;支持时间序列分析功能;支持灵活处理缺失数据;具有丰富的数据处理函数;具有快速、灵活、富有表现力的数据结构:DataFrame 数据框和 Series 系列。

DataFrame 数据框 Series 系列

[pandas官方学习文档](http://pandas.pydata.org/docs/reference/index.html)
数据存储路径或工作路径

import os
import pandas as pd
print(os.getcwd())  # 获取当前工作目录

数据信息

nba = pd.read_csv("nbaallelo.csv")
#https://github.com/fivethirtyeight/data/blob/master/nba-elo/nbaallelo.csv
type(nba))                    #数据类型
len(nba)                      #数据长度
nba.shape                     #数据维度
nba.head()                    #前5行数据
nba.info()                    #数据结构
nba.sample(10)                #抽取10个样本
nba.describe()                #数值型数据的四分位数
print(nba.describe())

二、读写*.csv数据

  • 文本文件是一种由若干行字符构成的计算机文件,它是一种典型的顺序文件。
  • csv 是一种逗号分隔的文件格式,因为其分隔符不一定是逗号,又被称为字符分隔文件,文件以纯文本形式存储表格数据(数字和文本)。

2.1 文件读取

CSV 又称逗号分隔值文件,是一种简单的文件格式,以特定的结构来排列表格数据。 CSV 文件能够以纯文本形式存储表格数据,比如电子表格、数据库文件,并具有数据交换的通用格式。CSV 文件会在 Excel 文件中被打开,其行和列都定义了标准的数据格式。将 CSV 中的数据转换为 DataFrame 对象是非常便捷的。和一般文件读写不一样,它不需要你做打开文件、读取文件、关闭文件等操作。相反,您只需要一行代码就可以完成上述所有步骤,并将数据存储在 DataFrame 中。

read_csv(filepath_or_buffer, sep=',', header='infer', names=None, index_col=None, dtype=None, engine=None, nrows=None)`
参数名称 说明
filepath 接收 string。代表文件路径。无默认。
sep 接收 string。代表分隔符。read_csv 默认为' , ',read_table 默认为制表符 '[Tab]'。
header 接收 int 或 sequence。表示将某行数据作为列名。默认为 infer,表示自动识别。
names 接收 array。表示列名。默认为 None。
index_col 接收 int、sequence 或 False。表示索引列的位置,取值为 sequence 则代表多重索引。默认为 None。
dtype 接收 dict。代表写入的数据类型(key:列名,values:数据格式)。默认为 None。
engine 接收 C 或者 Python。代表数据解析引擎。默认为 C。
  • sep 参数是指定文本的分隔符,如果分隔符指定错误,在读取数据的时候,每一行数据将连城一片。
  • header 参数是用来指定列名,如果是 None 则会添加一个默认的列名。
  • encoding 代表文件的编码格式,常用的编码有 utf-8、utf-16、gbk、gb18030、big5 等。如果编码指定错误,数据将无法读取,Ipython 解释器会报解析错误。
import pandas as pd
pd.read_csv(r"nbaallelo.csv")
  gameorder       game_id lg_id  ...  game_result  forecast notes
0          1  194611010TRH   NBA  ...            L  0.640065   NaN
1          1  194611010TRH   NBA  ...            W  0.359935   NaN
2          2  194611020CHS   NBA  ...            W  0.631101   NaN
3          2  194611020CHS   NBA  ...            L  0.368899   NaN
4          3  194611020DTF   NBA  ...            L  0.640065   NaN

2.2 数据存储

结构化数据通过 Pandas 中的 to_csv 函数实现以 csv 文件格式存储文件。

DataFrame.to_csv(path_or_buf=None, sep=',', na_rep='', columns=None, header=True, index=True, index_label=None, mode='w', encoding=None)
参数名称	说明
path_or_buf	接收 string。代表文件路径。无默认。
sep	接收 string。代表分隔符。默认为 ','。
na_sep	接收 string。代表缺失值。默认为 ' '。
columns	接收 list。代表写出的列名。默认为 None。
header	接收 boolean。代表是否将列名写出。默认为 True。
index	接收 boolean。代表是否将行名(索引)写出。默认为 True。
index_label	接收 boolean。代表索引名。默认为 None。
mode	接收特定 string。代表数据写入模式。默认为 w。
encoding	接收特定 string。代表存储文件的编码格式。默认为 None。
from sklearn.datasets import load_iris
import pandas as pd
# 加载iris数据集
iris = load_iris()
# 创建DataFrame
df = pd.DataFrame(data=iris.data, columns=iris.feature_names)
output_csv_file = 'iris_dataset.csv'
df.to_csv(output_csv_file, index=False)

三、读取Clipboard数据

读数据 写数据
#预先剪贴板上已经复制数据
import pandas as pd
df = pd.read_clipboard()     #读取剪切板中的数据
print(df)

四、读取*.xlsx数据

使用pandas的read_excel()方法,可通过文件路径直接读取。注意到在一个excel文件中有多个sheet,因此,对excel文件的读取实际上是读取指定文件、并同时指定sheet下的数据。可以一次读取一个sheet,也可以一次读取多个sheet,同时读取多个sheet时后续操作可能不够方便,因此建议一次性只读取一个sheet。当只读取一个sheet时,返回的是DataFrame类型,这是一种表格数据类型,它清晰地展示出了数据的表格型结构。

pandas.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,skip_footer=0,skipfooter=0,convert_float=True,mangle_dupe_cols=True,**kwds)
参数说明:
io:文件路径 io = r’D:\test.xlsx’
sheet_name:表名,可指定读取单表、多表、全部表
sheet_name = None # 读取全部表,得到 OrderDict:key为表名,value为 DataFrame
sheet_name = 1 / “Sheet1” # 读取单表,返回 DataFrame
sheet_name = [0, 1] / [“Sheet1”, “Sheet2”] # 读取多表,返回一个OrderDict
header:指定抬头(含列名的标题行)
names:设置列名,必须是list类型,且长度和列数一致
names = [“Student_No.”, “Name”, “Score”]
usecols:使用的行
usecols = range(1, 3) # 使用 [1, 3) 行,不包括第 3 行
usecols = [4, 7] # 使用 4和7 行
skiprows:指定跳过的行数(不读取的行数)

(1)不指定sheet参数,默认读取第一个sheet
 df=pd.read_excel(“data_test.xlsx”,header=None)
(2)指定sheet名称读取
df=pd.read_excel(“data_test.xlsx”,sheet_name=“test1”,header=None)
(3)指定sheet索引号读取
df=pd.read_excel(“data_test.xlsx”,sheet_name=0,header=None) #sheet索引号从0开始
#默认有表头的读取方式,不带表头的读取添加参数header=None
有表头(推荐) 无表头
import pandas as pd
from openpyxl.workbook import Workbook    #提示要安装这个库,原因不明
from sklearn.datasets import load_iris

# 加载iris数据集
iris = load_iris()
# 创建DataFrame
df = pd.DataFrame(data=iris.data, columns=iris.feature_names)

# 将DataFrame写出为Excel文件
output_excel_file = 'iris_dataset.xlsx'
df.to_excel(output_excel_file, index=False)
print(f"DataFrame已成功写出到 {output_excel_file}")
 读取Excel文件
read_df = pd.read_excel(output_excel_file)
# 显示读取的数据的前5行
print("\n读取的Excel文件的前5行:")
print(read_df.head())
   sepal length (cm)  sepal width (cm)  petal length (cm)  petal width (cm)
0                5.1               3.5                1.4               0.2
1                4.9               3.0                1.4               0.2
2                4.7               3.2                1.3               0.2
3                4.6               3.1                1.5               0.2
4                5.0               3.6                1.4               0.2

参考文献

  1. 行远见大』Python 进阶篇:Pandas 库
  2. PYTHON 在剪贴板上读取/写入数据
  3. 用python的pandas读取excel文件中的数据

标签:None,sheet,读取,Python,DataFrame,默认,csv,Pandas,数据文件
From: https://www.cnblogs.com/haohai9309/p/17862327.html

相关文章

  • 使用cursor编写python脚本
    环境python3.7pycharmcursor需要安装pandas库python基本常用语法注释#后面写的是注释#单行注释变量python是一种弱类型的语言,一个变量得到类型可以变化变量名区分大小写#创建数据n1=1#整数n2=1.2#浮点数#字符串是用单引号括起来的,还可以用双引......
  • python基础之基本运算符
    参考网站​ 参考网站(菜鸟教程):https://www.runoob.com/python/python-operators.html算术运算符以下假设变量a=10,变量b=21:运算符描述实例+加-两个对象相加a+b输出结果31-减-得到负数或是一个数减去另一个数a-b输出结果-11*乘-两个数相乘......
  • 聪明学python【4】+【001】
    【4】条件+【001】代码风格if语句关于选择的语句,具体不必阐述,和C语言大差不差,关于几点区别会在下方列出关于所有选择:ifif-elseif-else推导式推导式(Comprehensions)是Python中一种简洁而强大的语法,用于创建新的序列(如列表、集合、字典)的一种方法。Python中......
  • python基础之数据类型
    数据类型(重要)什么是数据类型? 视频文件音频文件表格文件图片等等这些都是保存数据的方式#在IT领域也有各种各样的保存数据的方式数据类型的种类?-数字类型-整数类型(int)-浮点类型(float)-字符串类型(str)-列表类型(list)-字典类型(dict)-布尔类型(......
  • python基础之变量与常量
    注释语法#学语言先学注释,注释是代码之母!1.什么是注释? 注释就是对一段代码的解释,它不参与代码的实际运行,起到提示作用.2.如何使用注释? 方式一: 警号#单行注释""" 还可以借助于快捷键 code reformatcode ctrl+......
  • python基础之用户交互
    程序与用户交互概念:用户交互就是人往计算机中input/输入数据,计算机print/输出结果############输入a=input('请输入您的密码:')#'1'1"""只要是input,接收的数据类型全部都是str类型的,不管你输入的类型是什么类型的"""#如果以后你需要做运算,需要转类型#print(usernam......
  • 【python入门之程序与用户交互】---程序与用户交互
    【一】什么是与用户交互交互的本质就是输入、输出用户交互就是人往计算机中input/输入数据,计算机print/输出结果【二】为什么要与用户交互为了让计算机能够像人一样与用户沟通交流过去我们去银行取钱,用户需要把帐号密码告诉柜员而现在,柜员被ATM机取代ATM机就是一台......
  • 【python入门之基本数据类型的学习】---基本数据类型(list、str)【二】
    【三】字符串类型(str)【1】作用字符串类型(str)用于表示文本信息,是一种非常重要的数据类型,用于处理文字、字符等信息【2】定义(1)定义方式字符串可以使用单引号、双引号或三引号进行定义#定义方式1:name_1='Jack'#(当左边有赋值符号和遍历名的时候,它就是字符串)#定......
  • 【python入门之基本数据类型】---基本数据类型(字典、布尔)【三】
    【五】字典类型(dict)【1】作用如果我们需要用一个变量记录多个值,但多个值是不同属性的比如人的姓名、年龄、身高,用列表可以存,但列表是用索引对应值的,而索引不能明确地表示值的含义这就用到字典类型,字典类型是用key:value形式来存储数据其中key可以对value有描述性的功能......
  • 【python入门之基本数据类型】---基本数据类型(元组、集合)【四】
    【七】元组类型(tuple)【1】作用元组(tuple)是一种不可变的序列类型,类似于列表,用于存储多个有序元素。元组与列表的主要区别在于元组的元素不能被修改、删除或添加,是不可变的数据类型。元组通常用于存储相关联的数据,保持数据的完整性。【2】定义元组通过小括号()......