python pandas库统计分析基础必备知识汇总(三)

简介: python pandas库统计分析基础必备知识汇总(三)

3.pandas读取文件

3.1read_excel()

3.1.1准备数据

import pandas as pd
id = ['xx1', 'xx2', 'xx3', 'xx4', 'xx5']
df = pd.DataFrame({
   
    'name': ['aaa', 'bbb', 'ccc', 'ddd', 'eee'],
    'age': [18, 20, 21, 22, 19],
    'gender': ['male', 'female', 'male', 'female', 'female'],
    'class': ['A', 'B', 'B', 'A', 'A']
}, index=id)
# 保存为excel文件
df.to_excel('data.xlsx')

3.1.2默认方式读取

read_excel()读取excel文件得到的DataFrame,

  • index值默认为0,1,2,3…
  • 列名默认为excel中的第一行数据
df = pd.read_excel('data.xlsx')
print(df)

在这里插入图片描述

3.1.3设置index_col参数

df1 = pd.read_excel('data.xlsx', index_col=0)
print(df1)

如图,通过index_col=0,将下标为0的列作为索引进行读取。
在这里插入图片描述

3.1.4设置header参数

header可以设置列名,默认为0表示首行即列名,

  • 如图通过 header=1,将下标为1行作为了列名(第二行)
df2 = pd.read_excel('data.xlsx', header=1)     # 设置第1行为列索引
print(df2)

在这里插入图片描述

  • 当header参数为None时,表示列名为数字0,1,2,3…
df3 = pd.read_excel('data.xlsx', header=None)  
print(df3)

在这里插入图片描述

3.1.5设置usecols参数

通过usecols参数,传入列位置或标签列表,可以导出指定列

  • 传入一个位置
df1 = pd.read_excel('data.xlsx', usecols=[1])                  # 通过指定列索引号导入第1列
print(df1)

在这里插入图片描述

  • 传入多个位置
df2 = pd.read_excel('data.xlsx', usecols=[1, 3])
print(df2)

在这里插入图片描述

  • 传入多个标签
df3 = pd.read_excel('data.xlsx', usecols=['name', 'age'])
print(df3)

在这里插入图片描述

3.1.6设置sheet_name参数以指定工作簿

可以通过read_excel()的sheet_name参数传入工作簿名称。
如:

import pandas as pd
df = pd.read_excel('data_name.xlsx', sheet_name='sheetA')
df1 = df.head()   # 输出前5条数据

3.1.7解决数据输出时列名不对齐的问题

使用命令

pd.set_option(‘display.unicode.east_asian_width’, True)

import pandas as pd
pd.set_option('display.unicode.east_asian_width', True)
df = pd.read_excel('data.xlsx')

3.2read_csv()

3.2.1设置encoding参数

设置encoding参数可以指定编码方式,默认为None。
出现乱码的时候可以使用。

import pandas as pd
df = pd.read_csv('data.csv', encoding='gbk')            # 导入csv文件,并指定编码格式
print(df.head())   

3.2.2设置sep参数指定分隔符

sep默认为",",表示分隔符默认为逗号。
根据数据的具体情形,设置不同的分隔符,下例中读取了分隔符为\t的txt文本文件。

import pandas as pd
df1 = pd.read_csv('1月.txt', sep='\t', encoding='gbk')
df1 = df1.head()

3.3read_html()小案例

3.3.1pd.read_html()方法

使用pandas的read_html()方法,只需要传入url,可以获取到相应的网页源码中的表格数据,返回的数据格式为一个列表

3.3.2DataFrame的append()方法

此外可以对DataFrame对象使用append方法将满足一定格式(形似一个表格)的列表数据添加到其中,ignore_index=True可以忽略掉该list对象中数据的索引列,而将索引设为默认的0,1,2…,避免了多个list对象的索引重复的问题。以该案例为例:

以网站http://www.espn.com/nba/salaries/_/seasontype/4等为例,获取此网站及其他11页的表格数据,并保存为csv文件。

3.3.3pd.to_csv()方法

  • header 表头,传入形式为一个列表,默认为数据第一行
  • index=False 忽略索引
    在这里插入图片描述
import pandas as pd
df = pd.DataFrame()
url_list = ['http://www.espn.com/nba/salaries/_/seasontype/4']
for i in range(2, 13):
    url = 'http://www.espn.com/nba/salaries/_/page/%s/seasontype/4' % i
    url_list.append(url)


# 遍历网页中的table读取网页表格数据
for url in url_list:
    df = df.append(pd.read_html(url), ignore_index=True)
# 通过观察,df中第三个数据都是以$开头的,除了重复出现的标题数据。以以$开头为筛选条件,去除冗余数据。
df = df[[x.startswith('$') for x in df[3]]]
df.to_csv('NBA.csv', header=['RK', 'NAME', 'TEAM', 'SALARY'], index=False)

在这里插入图片描述

目录
相关文章
|
4天前
|
Python
使用Python的openpyxl库
【5月更文挑战第17天】使用Python的openpyxl库
14 2
|
6天前
|
Python
Python 内置正则表达式库re的使用
正则表达式是记录文本规则的代码,用于查找和处理符合特定规则的字符串。在Python中,常通过原生字符串`r'string'`表示。使用`re.compile()`创建正则对象,便于多次使用。匹配字符串有`match()`(从开头匹配)、`search()`(搜索首个匹配)和`findall()`(找所有匹配)。替换字符串用`sub()`,分割字符串则用`split()`。
21 3
|
1天前
|
机器学习/深度学习 算法 前端开发
2024年8个可以提高数据科学工作效率并节省宝贵时间的Python库,2024年最新记得把每一次面试当做经验积累
2024年8个可以提高数据科学工作效率并节省宝贵时间的Python库,2024年最新记得把每一次面试当做经验积累
2024年8个可以提高数据科学工作效率并节省宝贵时间的Python库,2024年最新记得把每一次面试当做经验积累
|
2天前
|
数据挖掘 数据处理 Python
【Python DataFrame 专栏】深入探索 pandas DataFrame:高级数据处理技巧
【5月更文挑战第19天】在 Python 数据分析中,pandas DataFrame 是核心工具。本文介绍了几个高级技巧:1) 横向合并 DataFrame;2) 数据分组与聚合;3) 处理缺失值;4) 数据重塑;5) 条件筛选;6) 使用函数处理数据。掌握这些技巧能提升数据处理效率和分析深度,助你更好地发掘数据价值。
【Python DataFrame 专栏】深入探索 pandas DataFrame:高级数据处理技巧
|
3天前
|
网络协议 数据处理 调度
深入探索Python异步编程:asyncio库的应用与实践
在现代软件开发中,异步编程已成为处理并发和I/O密集型任务的重要策略。本文将带您深入探索Python的asyncio库,解析其背后的设计原理,并通过实例展示如何在实际项目中应用asyncio实现高效的异步编程。我们不仅会探讨asyncio的基本用法,还会分析其性能优势,并探讨其与其他并发模型的比较。此外,文章还将涵盖asyncio在Web开发、网络编程和数据处理等场景中的应用案例,帮助您更好地理解并掌握这一强大的异步编程工具。
|
4天前
|
程序员 Python
tesseract库的安装与使用及在python中使用,Python程序员秋招三面蚂蚁金服
tesseract库的安装与使用及在python中使用,Python程序员秋招三面蚂蚁金服
|
4天前
|
Python
Python基础教程: math库常用函数(1),Python这些高端技术只有你还不知道
Python基础教程: math库常用函数(1),Python这些高端技术只有你还不知道
|
5天前
|
数据可视化 Python
Python----matplotlib库
Python----matplotlib库
12 1
|
5天前
|
监控 调度 开发者
Python 中的异步编程:理解 asyncio 库的基本原理与应用
本文将深入探讨 Python 中的异步编程技术,重点介绍 asyncio 库的基本原理与应用。通过解释事件循环、协程和 Future 对象的概念,读者将能够理解异步编程的工作原理,并学会如何利用 asyncio 库提高程序的性能和效率。本文还将通过实际示例演示如何使用 asyncio 库来处理 I/O 密集型任务和 CPU 密集型任务,以及如何避免常见的陷阱和错误。
|
5天前
|
调度 UED Python
Python 中的异步编程:理解 asyncio 库的基本原理与应用
本文探讨了 Python 中的异步编程,重点介绍了 asyncio 库的基本原理与应用。通过分析事件循环、协程以及异步/await 关键字的作用机制,读者将能够深入理解异步编程的工作方式,并学会如何利用 asyncio 库构建高效的异步应用程序。同时,本文还介绍了一些实际案例,帮助读者更好地掌握 asyncio 库的实际应用。