python找出文本的位置_python找到文件特定内容的位置:pandas包的loc和index

pandas包提供了数据读取的方法,上一篇内容介绍了用pandas.read_csv函数读取文件的选项。(链接https://www.cnblogs.com/liangxuran/p/13544390.html)

本文介绍读取文件后如何锁定特定内容的位置(行号)。

输入文件

输入文件是reskb0(注意pandas.read_csv不仅能读取.csv文件,也可以读取.txt文件,甚至没有后缀名的文件)

该文件有三列数据,数据之间用空格分割,分别代表射线路径中每个节点的纬(p)经(r)深(h)度。

不同射线之间用“0 0 0”间隔。部分数据截图如下:

程序目标

为锁定所有“0 0 0”字段的行号,以下程序提供了两种方法.loc方法和.index方法

1 importpandas as pd2 importnumpy as np3

4 file_in = "reskb0" #输入文件

5

6 #使用panda中的read_csv读取txt文件

7 #type(pd_data)=

8 pd_data=pd.read_csv(file_in,delim_whitespace=True,names='prh')9

10 #方法1:使用.loc定位

11 pd_pos =pd_data.loc[(pd_data['p']==0)&(pd_data['r']==0)&(pd_data['h']==0)]12 print('1st way:',pd_pos.shape,type(pd_pos))13

14 #方法2:使用.index定位

15 pd_loc =pd_data[(pd_data.p==0)&(pd_data.r==0)&(pd_data.h==0)].index16 print('2nd way:',pd_loc.shape,type(pd_loc))

输出结果

输出结果表面,第一种方法用.loc返回的数据类型是pandas.core.frame.DataFrame,第二种方法用.index返回的数据类型是pandas.core.indexs.numeric.Int64Index

后期还可以用“list=pd_data.tolist()”将pandas数据变为列表

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值