我正在尝试循环遍历数据帧列表,并为每个数据帧添加一个datetime列。我试过以下方法但没有效果:
dfs = ['nov22_2017', 'nov29_2017', 'dec06_2017','dec13_2017',
'dec20_2017', 'dec27_2017', 'jan03_2018', 'jan10_2018']
sheets = ['11.22.17', '11.29.17', '12.6.17', '12.13',
'12.20', '12.27', '1.3.18', '1.10.18']
dates = ['2017-11-22', '2017-11-29', '2017-1-06', '2017-12-13',
'2017-12-20', '2017-12-27', '2018-01-03', '2018-01-10']
# create a list of datetimes
datetimes = [pd.to_datetime(date) for date in dates]
# assign each df to a variable
dfs = [nrc_xl.parse(sheet, usecols = 10) for sheet in sheets]
# assign datetime columns
for index, df in enumerate(dfs):
df['date'] = datetimes[index]
for循环不会修改列表中的数据帧。如何以编程方式完成此任务,而不必为每个数据帧创建和分配列?你知道吗
编辑:我修好了。你知道吗
sheets = ['11.22.17', '11.29.17', '12.6.17', '12.13',
'12.20', '12.27', '1.3.18', '1.10.18']
# assign dfs to variables
[nov22_2017, nov29_2017, dec06_2017, dec13_2017,
dec20_2017, dec27_2017, jan03_2018, jan10_2018] = [nrc_xl.parse(sheet, usecols = 10) for sheet in sheets]
dfs = [nov22_2017, nov29_2017, dec06_2017, dec13_2017,
dec20_2017, dec27_2017, jan03_2018, jan10_2018]
# create a list of datetimes
dates = ['2017-11-22', '2017-11-29', '2017-1-06', '2017-12-13',
'2017-12-20', '2017-12-27', '2018-01-03', '2018-01-10']
datetimes = [pd.to_datetime(date) for date in dates]
# assign datetime columns
for index, df in enumerate(dfs):
df['date'] = datetimes[index]
你可以把这部分列在你的清单上:
相关问题 更多 >
编程相关推荐