资讯专栏INFORMATION COLUMN

pandas操作txt文件的方便之处

zhoutk / 671人阅读

摘要:使用文件分析数据遇到的问题有时候到手的数据基本是固定分隔符分隔的几个文件,需要重里面做一些数据统计,比如去重,计算某一列的和,两个文件的并集等等,如果能够像一样操作文件就好了,这就是带来的好处如何加载文件示例文件数据安装好在文件目录中运行在

使用txt文件分析数据遇到的问题

有时候到手的数据基本是固定分隔符分隔的几个文件,需要重里面做一些数据统计,比如去重,计算某一列的和,两个文件的并集等等,如果能够像sql一样操作txt文件就好了,这就是pandas带来的好处

如何加载txt文件?

示例文件数据 papa.txt

 paxi_id grade
  1       50
  2       50
  3       100
  4       200
  3       100
  5       100
 

安装好jupyter ,在文件目录中运行jupyter notebook,在打开的浏览器界面上,选择python运行


在打开的界面上,运行加载的命令

import pandas #引入pandas
papa=pandas.read_csv("papa.txt",sep="	") #加载papa.txt,指定它的分隔符是 	
papa.head() #显示数据的前几行

可以看到加载的结果直观的用表格展示

如何知道刚加载的数据有几行?有几列?

运行指令如下

rowNum=papa.shape[0] #不包括表头
colNum=papa.columns.size

结果为

如何根据一列对整个数据进行去重?

运行指令如下

uPapa=papa.drop_duplicates(["paxi_id"])

结果如下

如何获取一列的去重的值?去重后有多少个?

运行指令如下

uPaxiId=papa["paxi_id"].unique()
print("uPaxiId:",uPaxiId)
totalUPaxiIdNum=uPaxiId.size
print("num:",totalUPaxiIdNum)

运行结果如下

如何计算一列的和?

运行指令如下

papa["grade"].sum()

结果如下

如何过滤特定的值的行?

运行指令如下

papa[ ( papa["grade"] == 50 ) | ( papa["grade"] == 100 ) ]

结果如下

如何计算某一列各个取值的个数?

运行指令如下

gPapa=papa.groupby("grade").size()

结果如下

如何计算其中两个或者所有的和?

运行指令如下

v=gPapa[50]+gPapa[100]
print("两个的和:",v)
print("总和:",gPapa.sum())

结果如下

如何用图形表示各个值?

运行指令如下

import matplotlib.pyplot as plt
fig=plt.figure()
gPapa.plot(kind="bar",grid=True) #bar 和 barh 能切换x轴,y轴
plt.show() #在需要显示的时候调用,会一次把所有的图都画出来

结果如下

如何对两个txt的文件根据一列做join?

另一个文件为xixi.txt

paxi_id    type
1    3
2    4
3    3
4    4
5    3

执行指令如下

xixi=pandas.read_csv("xixi.txt",sep="	")
uXixi=xixi.drop_duplicates(["paxi_id"])
pandas.merge(uPapa,uXixi,on=["paxi_id"]) #join

结果如下

附pandas官方文档

https://pandas.pydata.org/pan... 有教程~

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/41892.html

相关文章

  • Python小世界:项目虚拟环境配置N种方法

    摘要:三个常用的虚拟环境配置来汇总,如有不适之处,还望各位大佬指正。一个项目对应一个,支持开发环境与正式环境区分。其使用创建环境,以便分隔使用不同版本和不同程序包的项目。 前言 和其他大多数现代编程语言一样,Python对包和 模块的下载、存储以及管理有其自己的一套方法。但是当我们同时开发多个项目工程的时候,不同的项目会将第三方的包存放在相同的路径下。这就意味着,如果有两个工程依赖同一个包,但是所...

    kidsamong 评论0 收藏0
  • 想免费用谷歌资源训练神经网络?Colab 详细使用教程 —— Jinkey 原创

    摘要:网址库的安装和使用自带了等深度学习基础库。遍历目录列出根目录的所有文件查询条件教程详见可以看到控制台打印结果测试其中是接下来的教程获取文件的唯一标识。该示例演示的是对健康科技设计三个类别的标题进行分类。 showImg(https://segmentfault.com/img/remote/1460000012731670); 原文链接 https://jinkey.ai/post/t...

    XboxYan 评论0 收藏0
  • 字符串与JavaScript之间魔术—前端模板原理及简单实现

    摘要:大多数模板实现原理基本一致模板字符串首先通过各种手段剥离出普通字符串和模板语法字符串生成抽象语法树然后针对模板语法片段进行编译,期间模板变量均去引擎输入的变量中查找模板语法片段生成出普通片段,与原始普通字符串进行拼接输出。 前端模板的发展 模板可以说是前端开发最常接触的工具之一。将页面固定不变的内容抽出成模板,服务端返回的动态数据装填到模板中预留的坑位,最后组装成完整的页面html字符...

    Steve_Wang_ 评论0 收藏0

发表评论

0条评论

zhoutk

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<