【零碎技巧】循环打开多个文件,dataframe筛选

本文介绍如何使用Python批量读取类似命名的文件,并利用pandas进行DataFrame的数据筛选。包括通过for循环与字符串format函数读取多个CSV文件,以及使用条件语句对DataFrame进行复杂筛选,如多条件判断与分组排名筛选。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、循环打开多个文件
要打开多个文件名类似的同一类型文件,暂时不会os包的操作,建立空list,用字符串的 format函数 & list的append 就可以了

filedfs_list = []
type = ['STATIONSEQNUM',"TIMEHEADWAY",'tag',"timeframe","ORDER"]
for i in range(3,10):
    filedfs_list.append(pd.read_csv("080{}final.txt".format(i))[type])

二、dataframe 筛选
本质就是一个判段’[]'内条件是否为真的过程
1、判断result1[(result1[‘STATIONSEQNUM_y’] == 22 )&(result1[‘date’] == 4) 是否为真,这里要特别注意,多个判断语句时一定要加括号,不然条件模糊,无法判断,会返回什么 ambiguous 之类的错误

stxseq = int(result1[(result1['STATIONSEQNUM_y'] == 22 )&(result1['date'] == 4)]['STATIONSEQNUM_x'].values)

2、判断grouped1_df.groupby(‘date’)[‘tag’].rank(method = ‘min’, ascending = False)< 2 是否为真,为真,则返回grouped1_df对应行

result1 = grouped1_df[grouped1_df.groupby('date')['tag'].rank(method = 'min', ascending = False)< 2].reset_index()  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值