python - 如何按顺序连接多个数据帧?

我想一天一天地度过整个四月。我想打印一个数据框,该数据框每天都合并到我所在的那一天,另一个 df 仅包含最近 3 天。例如,假设今天是 2021 年 4 月 5 日。我想打印一个将 apr1、apr2、apr3 和 apr4 组合在一起的数据帧。我还想打印最近 3 天(apr2、apr3、apr4)。我该怎么做呢?

import pandas as pd
z={
    0 :pd.read_csv('21_apr1.csv'),
    1 :pd.read_csv('21_apr2.csv'),
    2 :pd.read_csv('21_apr3.csv'),
    3 :pd.read_csv('21_apr4.csv'),
    4 :pd.read_csv('21_apr5.csv'),
    }
for w in range(5):
    try:
        df1=pd.concat([z[w],z[w-1],z[w-2],z[w-3],z[w-4]])
    except KeyError:
        continue
for w in range(5):
    try:
        df2=pd.concat([z[w-3],z[w-2],z[w-1]])
    except KeyError:
        continue
print(df1.head(3))
print(df2.head(3))

回答1

import pandas as pd
z = [pd.read_csv(f'21_apr{x}.csv') for x in range(1, 6)]

df1 = pd.concat([z[0:-1])
df2 = pd.concat([z[1:-1])

回答2

我能够使用 BeRT2me 写的东西来解决。

today=int(input('Which day of 2021? Day: '))
for n in range(1,today+1):
    if n>3:
        z = [pd.read_csv(f'21_day{w}.csv')for w in range(1,n)]
        temp1=pd.read_csv(f'21_day{n-3}.csv')
        temp2=pd.read_csv(f'21_day{n-2}.csv')
        temp3=pd.read_csv(f'21_day{n-1}.csv')
        last3days=pd.concat([temp1,temp2,temp3])
        all_past = pd.concat(z[:])
        nextday = pd.read_csv(f'21_day{n+1}.csv')

      #run my code in the for loop

相似文章

video - 与 ffmpeg 不一致的帧号

我经常遇到hvc1videos在ffprobe信息和FFmpeg信息之间获得不一致的帧数的问题,我想知道这个问题的原因是什么,以及如何在不重新解决的情况下解决它-编码video。我用我的测试video...

随机推荐

最新文章