当前位置: 首页 > news >正文

10.28Python_pandas_csv

三、读取CSV文件

CSV(Comma-Separated Values,逗号分隔值,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本);

CSV 是一种通用的、相对简单的文件格式,被用户、商业和科学广泛应用。

1、to_csv()

to_csv() 方法将 DataFrame 存储为 csv 文件

案例:

import pandas as pd# 创建一个简单的 DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie'],'Age': [25, 30, 35],'City': ['New York', 'Los Angeles', 'Chicago']
}
df = pd.DataFrame(data)# 将 DataFrame 导出为 CSV 文件
df.to_csv('output.csv', index=False)

2、read_csv()

read_csv() 表示从 CSV 文件中读取数据,并创建 DataFrame 对象。

案例:

import pandas as pddf = pd.read_csv('output.csv')
print(df)

四、读取Excel文件

Excel操作需要安装第三方库

pip install openpyxl

1、read_excel()

read_excel() 读取 Excel 表格中的数据。

语法:

pd.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, parse_dates=False,date_parser=None, thousands=None, comment=None, skipfooter=0,convert_float=True, **kwds)

参数说明:

参数名称说明
io表示 Excel 文件的存储路径。
sheet_name要读取的工作表名称。
header指定作为列名的行,默认0,即取第一行的值为列名;若数据不包含列名,则设定 header = None。若将其设置 为 header=2,则表示将前两行作为多重索引。
names一般适用于Excel缺少列名,或者需要重新定义列名的情况;names的长度必须等于Excel表格列的长度,否则会报错。
index_col用做行索引的列,可以是工作表的列名称,如 index_col = ‘列名’,也可以是整数或者列表。
usecolsint或list类型,默认为None,表示需要读取所有列。
squeezeboolean,默认为False,如果解析的数据只包含一列,则返回一个Series。
converters规定每一列的数据类型。
skiprows接受一个列表,表示跳过指定行数的数据,从头部第一行开始。
nrows需要读取的行数。
skipfooter接受一个列表,省略指定行数的数据,从尾部最后一行开始。

案例:

import pandas as pd# 读取 Excel 文件
df = pd.read_excel('data.xlsx')
print(df)# 读取特定工作表
df = pd.read_excel('data.xlsx', sheet_name='Sheet1')
print(df)

2、to_excel()

to_excel() 函数可以将 DataFrame 中的数据写入到 Excel 文件。如果想要把单个对象写入 Excel 文件,那么必须指定目标文件名;如果想要写入到多张工作表中,则需要创建一个带有目标文件名的 ExcelWriter 对象,并通过 sheet_name 参数依次指定工作表的名称。

语法:

DataFrame.to_excel(excel_writer, sheet_name='Sheet1', na_rep='', float_format=None, columns=None, header=True, index=True, index_label=None, startrow=0, startcol=0, engine=None, merge_cells=True, encoding=None, inf_rep='inf', verbose=True, freeze_panes=None) 

参数说明:

参数名称描述说明
excel_wirter文件路径或者 ExcelWrite 对象。
sheet_name指定要写入数据的工作表名称。
na_rep缺失值的表示形式。
float_format它是一个可选参数,用于格式化浮点数字符串。
columns指要写入的列。
header写出每一列的名称,如果给出的是字符串列表,则表示列的别名。
index表示要写入的索引。
index_label引用索引列的列标签。如果未指定,并且 hearder 和 index 均为为 True,则使用索引名称。如果 DataFrame 使用 MultiIndex,则需要给出一个序列。
startrow初始写入的行位置,默认值0。表示引用左上角的行单元格来储存 DataFrame。
startcol初始写入的列位置,默认值0。表示引用左上角的列单元格来储存 DataFrame。
engine它是一个可选参数,用于指定要使用的引擎,可以是 openpyxl 或 xlsxwriter。

案例:

import pandas as pd# 创建一个示例 DataFrame
data = {'A': [1, 2, 3],'B': [4, 5, 6],'C': [7, 8, 9]
}
df = pd.DataFrame(data)# 保存 DataFrame 为 Excel 文件
df.to_excel('data.xlsx')# 保存 DataFrame 为 Excel 文件,不保存索引
df.to_excel('data.xlsx', index=False)

五、绘图

Pandas 在数据分析、数据可视化方面有着较为广泛的应用,Pandas 对 Matplotlib 绘图软件包的基础上单独封装了一个plot()接口,通过调用该接口可以实现常用的绘图操作;

Pandas 之所以能够实现了数据可视化,主要利用了 Matplotlib 库的 plot() 方法,它对 plot() 方法做了简单的封装,因此您可以直接调用该接口;

只用 pandas 绘制图片可能可以编译,但是不会显示图片,需要使用 matplotlib 库,调用 show() 方法显示图形。

import pandas as pd
import matplotlib.pyplot as plt# 创建一个示例 DataFrame
data = {'A': [1, 2, 3, 4, 5],'B': [10, 20, 25, 30, 40]
}
df = pd.DataFrame(data)# 绘制折线图
df.plot(kind='line')
# 显示图表
plt.show()# 绘制柱状图
df.plot(kind='bar')
# 显示图表
plt.show()# 绘制直方图
df['A'].plot(kind='hist')
# 显示图表
plt.show()# 绘制散点图
df.plot(kind='scatter', x='A', y='B')
# 显示图表
plt.show()

饼图

# 创建一个示例 Series
data = {'A': 10,'B': 20,'C': 30,'D': 40
}
series = pd.Series(data)
# 绘制饼图
series.plot(kind='pie', autopct='%1.1f%%')
# 显示图表
plt.show()
http://www.lryc.cn/news/470944.html

相关文章:

  • 数据处理与可视化:pandas 和 matplotlib 初体验(9/10)
  • 鸿蒙学习总结
  • 如何修改文件创建时间?六个超简单修改方法介绍
  • 【MySQL 保姆级教学】内置函数(9)
  • 华为大咖说丨如何通过反馈机制来不断优化大模型应用?
  • 上海亚商投顾:沪指缩量震荡 风电、传媒股集体走强
  • 三磺酸-Cy3.5-羧酸在水相环境中表现良好,能够提高成像的清晰度和准确性
  • 国标GB28181视频平台EasyGBS国标GB28181软件实现无需插件的视频监控对讲和网页直播
  • mac nwjs程序签名公证(其他mac程序也一样适用)
  • 网络应用技术 实验一:路由器实现不同网络间通信(华为ensp)
  • 使用 Qt GRPC 构建高效的 Trojan-Go 客户端:详细指南
  • 【mysql进阶】5-事务和锁
  • 指增和中性产品的申赎加减仓及资金调拨自动化伪代码思路
  • 【论文分享】居住开放空间如何影响老年人的情感:使用可穿戴传感器的现场实验
  • 入门 | Prometheus+Grafana 普罗米修斯
  • 制作Ubuntu根文件系统
  • 16个最佳测试管理工具(2024)
  • 基于知识图谱的猕猴桃种植技术问答系统
  • Swift雨燕蜂窝无线通信系统介绍
  • 【ZZULI】数据库第二次实验
  • Javaee---多线程(一)
  • Java后端面试内容总结
  • DC-1渗透测试
  • 深度剖析:电商 API 接口如何成就卓越用户体验
  • C++调试经验:Ubuntu下CMake链接常见库的方式(持续更新)
  • 【HarmonyOS】应用实现APP国际化多语言切换
  • 使用pandas进行数据分析
  • 用于无监督域适应的提示分布对齐
  • Rust整合Elasticsearch
  • Linux 文件权限管理:chown、chgrp 和 chmod 的使用及权限掩码规则