Example df
0 date fruit
1 2010-01-01 apple
2 2010-01-01 pears
如何循环遍历数据帧,然后对每个数据帧执行相同的操作?我对缩进和Python解释循环的顺序感到困惑。想要通用代码
lista = []
for x in [2010, 2017, 2020]:
if x> 2015:
for file in glob.glob(f'My DocumentsAnalysis{x}LateAnalysis\*.csv'):
df = pd.read_csv(file)
else:
for file in glob.glob(f'My DocumentsAnalysis{x}Early_Analysis\*.csv'):
df = pd.read_csv(file)
#perform the same operations to each dataframe. Unsure about indendation of the below
df = df.set_index('date')
lista.append(df)
...
使用df
的所有内容都需要在for
循环内。否则,您只能获得每年的最后一个数据帧。
您还可以通过使用一个变量来表示它们之间的一个差异,从而将for
循环组合为单个循环。
lista = []
for x in [2010, 2017, 2020]:
if x > 2015:
filenames = rf'My DocumentsAnalysis{x}LateAnalysis*.csv'
else:
filenames = rf'My DocumentsAnalysis{x}Early_Analysis*.csv'
for file in glob.glob(filenames):
df = pd.read_csv(file)
df = df.set_index('date')
lista.append(df)