循环浏览panda dataframe并提取select列数据

2024-09-28 21:19:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个panda数据框,在这里我可以根据多列值提取某些行

用于提取列“folder==True”和列“depth==1”中的行的代码

folders = df[(df["folder"] == True) & (df['depth'] == 1)]

文件夹数据帧

    id                                               path               mtime               ctime  folder  num_files  depth
17   2                           \\fileserver\bckup\admin 2020-07-10 16:36:58 2020-07-10 16:17:33    True       16.0      1
19  20                            \\fileserver\bckup\test 2020-07-10 16:19:33 2020-07-10 16:17:46    True        1.0      1

使用folders dataframe,我想为每一行选择路径和ctime值,并根据当前日期计算ctime,如果超过X个天数,则删除路径。我在为path和ctime迭代数据帧时遇到困难,你能建议我吗

谢谢


Tags: 数据path代码路径文件夹idtruedf
1条回答
网友
1楼 · 发布于 2024-09-28 21:19:47

假设df下面是您的folder数据帧,您可以执行以下操作:

# todays date
today = pd.Timestamp('today')

# no. of days
x = 6

df['days_diff'] = (today - df['ctime']).dt.days

# set path to None days_diff > x
m = df['days_diff'].gt(x)
df.loc[m, 'path'] = None

cols = ['path', 'ctime', 'days_diff']
print(df[cols])

                                        path               ctime  days_diff
0                  \\fileserver\bckup\admin  2020-07-10 16:17:33          5
1                   \\fileserver\bckup\test  2020-07-10 16:17:46          5

相关问题 更多 >