簡體   English   中英

迭代3個Pandas數據框列的最快捷方法

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM