pandas库的使用
pandas库
- 1.读取txt文件
- 1.1 pd.read_table()/pd.read_csv()
- 1.2.结果显示
- 2. DataFrame对象的创建
- 2.1 直接采用类似字典的操作
- 2.2 使用pd.Series
- 3.pandas DataFrame相关属性/方法
- 3.1 df.values
- 3.2 df.columns
- 3.3 df.index
- 3.4 df.axes
- 3.5 df.shape
- 3.6 df.replace
- 3.7 df.to_excel
- 4.对齐显示
- 5.保存新的sheet至已有excel文件
- 参考文献
1.读取txt文件
若有下列一个txt文件,这里介绍使用pandas的读取方法。
1.1 pd.read_table()/pd.read_csv()
可以使用 pd.read_table()/pd.read_csv()
来读取。
注意到不同元素之间以空格分隔,使用sep=" "
;
假如只需要读取第1和2列,usecols=[1,2]
;
由于此txt没有header,为了读取数据方便,添加title,names=["index","a", "b"]
;
为了演示,这里只读取五行,nrows=5
。
import pandas as pd
datatxt = pd.read_table(filepath_or_buffer=r'***\*.txt', header=None,usecols=[1,2],names=["index","a", "b"],sep=" ",nrows=5,)
print(datatxt)
print(datatxt["a"].values[:])
1.2.结果显示
可以看到,正确输出了第1列前5个数据,且格式为numpy.ndarray,方便进行下一步的数据处理。
a b
0 -16.203125 133.50000
1 25.390625 32.28125
2 1307.000000 76.81250
3 2166.000000 115.31250
4 -19.984375 1694.00000[ -16.203125 25.390625 1307. 2166. -19.984375]
2. DataFrame对象的创建
创建如下一个对象:
#out:num lower upper other
0 1 a A #
1 2 b B ¥
2 3 c C %
2.1 直接采用类似字典的操作
import pandas as pd
df=pd.DataFrame()df["num"]=[1,2,3]
df["lower"]=["a","b","c"]
df["upper"]=["A","B","C"]
df["other"]=["#","¥","%"]
print(df)
2.2 使用pd.Series
import pandas as pd
a=pd.Series([1,2,3])
b=pd.Series(["a","b","c"])
c=pd.Series(["A","B","C"])
d=pd.Series(["#","¥","%"])
df=pd.DataFrame({"num":a,"lower":b,"upper":c,"other":d})
此例中a,b,c,d都没有index对象,可以直接使用list类型。
3.pandas DataFrame相关属性/方法
首先创建一个pandas DataFrame对象。
import pandas as pd
a=pd.Series([1,2,3])
b=pd.Series(["a","b","c"])
c=pd.Series(["A","B","C"])
d=pd.Series(["#","¥","%"])
df=pd.DataFrame({"num":a,"lower":b,"upper":c,"other":d})#out:num lower upper other
0 1 a A #
1 2 b B ¥
2 3 c C %
如下属性、方法:
3.1 df.values
#out:
array([[1, 'a', 'A', '#'],[2, 'b', 'B', '¥'],[3, 'c', 'C', '%']], dtype=object)
3.2 df.columns
#Out:
Index(['num', 'lower', 'upper', 'other'], dtype='object')
3.3 df.index
#Out:
RangeIndex(start=0, stop=3, step=1)
3.4 df.axes
#Out:
[RangeIndex(start=0, stop=3, step=1),Index(['num', 'lower', 'upper', 'other'], dtype='object')]
3.5 df.shape
#Out:
(3, 4)
3.6 df.replace
如把此dataframe对象’upper’列中'A'修改成'D','B'修改成'E'
,可使用以下操作:
df.replace({'upper':{'A':'D','B':'E'}})
3.7 df.to_excel
需要安装包openpyxl或 xlsxwriter。
常用设置如下:
df.to_excel("***.xlsx", sheet_name="***", index=False, header=True)
4.对齐显示
参考python中pandas如何输出完整、对齐的表格,加上以下两句,可做微调,效果不是非常好~
pd.set_option('display.unicode.ambiguous_as_wide', True)
pd.set_option('display.unicode.east_asian_width', True)
num lower upper other
0 1 a A #
1 2 b B ¥
2 3 c C %
5.保存新的sheet至已有excel文件
添加一个sheet至已有的excel,如果该excel中已经存在sheet,直接使用pd.to_excel
则会把已有sheet清掉。
为避免出现该情况,可以使用pd.ExcelWriter进行append操作:
with pd.ExcelWriter('output.xlsx',mode='a') as writer: df.to_excel(writer, sheet_name='Sheet_name_3')
参考文献
[1] https://mp.weixin.qq.com/s?src=11×tamp=1595553612&ver=2479&signature=NPYGmqdAKo6EFUCUp7CzKYe81ToH0oaLYr8t2JVgjJHQflW9e-y9XS2fl3x72yRX6BGQ*9iejYpSYaX2FM-je27Yfvs1x8r8L6oOATj2XB4YQMOSmJMzmY5qM0MlrNxV&new=1
[2] https://pandas.pydata.org/docs/reference/api/pandas.read_table.html
[3] python中pandas如何输出完整、对齐的表格
[4] pd.ExcelWriter
pandas库的使用相关推荐
- Pandas库常用函数和操作
目录 1. DataFrame 处理缺失值 dropna() 2. 根据某维度计算重复的行 duplicated().value_counts() 3. 去重 drop_duplicates( ...
- 【Pandas库】(6) 索引操作--改、查、高级索引
各位同学好,今天我和大家分享一下Pandas库的索引操作中的修改值.查找值.高级索引. 首先,我们先定义两个变量ps1存放Series数据,pd1存放DataFrame数据,以便后续操作. impor ...
- 【Pandas库】(5) 索引操作--增、删
各位同学好,今天我向大家介绍一下pandas库中的索引操作--增.删. 1. 增加 1.1 对series操作 方法一:在原有数据上增加,改变原有数据. Series名[新标签名] = 新标签名对应的 ...
- 【Pandas库】(4) 索引操作--重新生成索引
各位同学好,今天和大家分享一下pandas库的索引操作--重新生成索引. 本文主要介绍如何重新生成Series类型和DataFrame类型的索引. (1)Series类型重新生成索引 方法: 变量 = ...
- 【Pandas库】(3) DataFrame的创建方法及基本操作
各位同学好,今天给大家介绍一下Pandas库中DataFrame类型数据的创建方法和基本操作. 文章内容如下: (1)使用字典类创建. 字典类有:①数组.列表.元组构成的字典:②Series构造的字典 ...
- 【Pandas库】(2) Series的基本操作方法
各位同学好,今天和大家分享一下Pandas库中Series的基本操作方法. 内容有:①检查缺失值:②通过索引获取数据:③布尔索引:④name属性:⑤读取前几行数据:⑥读取后几行数据. 首先我们先定义一 ...
- 【Pandas库】(1) Series的创建方法
各位同学大家好,今天和大家分享一下Pandas库中Series的创建方法. 文章主要介绍了使用 列表.数组.字典 三种方法创建Series. 介绍了 如何查看Series索引和值.如何让使用字典生成的 ...
- 【python教程入门学习】Pandas库下载和安装
Python 官方标准发行版并没有自带 Pandas 库,因此需要另行安装.除了标准发行版外,还有一些第三方机构发布的 Python 免费发行版, 它们在官方版本的基础上开发而来,并有针对性的提前安装 ...
- python pandas库读取excel/csv中指定行或列数据详解
通过阅读表格,可以发现Pandas中提供了非常丰富的数据读写方法,下面这篇文章主要给大家介绍了关于python利用pandas库读取excel/csv中指定行或列数据的相关资料,需要的朋友可以参考下 ...
- python pandas库——pivot使用心得
python pandas库--pivot使用心得 2017年12月14日 17:07:06 阅读数:364 最近在做基于python的数据分析工作,引用第三方数据分析库--pandas(versio ...
最新文章
- 【我的Android进阶之旅】推荐一款能提升数十倍效率的Android应用开发助手
- 【风控体系】互联网反欺诈体系漫谈
- java更新 位置_请求位置信息更新 | Android 开发者 | Android Developers
- fileinput 时间_JavaScript_Bootstrap Fileinput文件上传组件用法详解,最近时间空余,总结了一些关...
- java中获取文件路径的几种方式
- OpenCV--图像内轮阔填充
- Python学习笔记(十)—— 高级特性
- 从分布式环境的特点、问题到CAP、BASE理论详解
- python调用rocketmq的api_rocketmq-python
- 记录一下:在菜单上添加自绘图形的例子(VB6代码)
- 挑战程序设计竞赛(第2版)1.6.1题
- javascript 闭包理解总结
- Python笔记 :科赫雪花曲线(计算思维训练1)
- 外卖返利小程序源码下载 美团/饿了么小程序源码下载
- Meta-learning algorithms for Few-Shot Computer Vision论文解读(一)
- 解决:ipad QQ可以联网,浏览器不能联网
- 将保护清理不良资产的银行家:Arun Jaitley在评审会议
- java版溺尸刷怪塔_minecraft河流群系溺尸刷怪塔存档
- os系统解决seaborn中文乱码问题 Font family [‘SiHei‘] not found
- 恐怖啊,MD5已经被真实情况下破解了