执行以下操作的最短路径是什么?
i = 0
for Year, Month, Day in zip(test_data['Year'], test_data['Month'], test_data['Day']):
ans = dt.date(Year, Month, Day)
test_data.loc[i,'Day1'] = ans.strftime("%A")
i += 1
答案 0 :(得分:2)
您可以在行上apply
,这样可以避免zip
并跟踪您所在的行:
df = pd.DataFrame({'Year': [2015, 2016], 'Month': [12, 1], 'Day': [28, 3]})
df
Out[3]:
Day Month Year
0 28 12 2015
1 3 1 2016
df['Day1'] = df.apply(
lambda row: dt.date(row['Year'], row['Month'], row['Day']).strftime('%A'),
axis='columns')
输出:
df
Out[11]:
Day Month Year Day1
0 28 12 2015 Monday
1 3 1 2016 Sunday