如何筛选首行Zeitpunkt为12点的DataFrame列表元素
解决方案
你当前的代码会筛选出所有包含12点记录的DataFrame,但要只保留首行Zeitpunkt小时为12点的DataFrame,只需要直接判断第一行的时间小时即可,修改后的代码如下:
循环写法
Collection = [] for df in subdfs: # 获取第一行Zeitpunkt的小时数,判断是否为12 if df.iloc[0]['Zeitpunkt'].dt.hour == 12: Collection.append(df['Zeitpunkt'])
列表推导式写法(更简洁)
Collection = [df['Zeitpunkt'] for df in subdfs if df.iloc[0]['Zeitpunkt'].dt.hour == 12]
关键修改说明
- 用
df.iloc[0]定位到DataFrame的第一行数据 - 通过
.dt.hour提取时间列的小时部分,直接和12做相等判断,替代原来检查整列是否存在12点的逻辑
内容的提问来源于stack exchange,提问作者luscgu00
相关产品推荐
相关产品推荐

