[英]Shortest way to iterate over 3 pandas dataframe columns
做以下事情的最短方法是什么?
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
您可以在行上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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.