使用2列中的值执行函数并将结果作为新列返回

时间:2015-03-07 01:48:56

标签: python numpy pandas

我有一个名为" final"的数据框,它按日期索引(作为datetimeindex),每个列根据以下内容命名:

final = final[['stn', 'years_of_data', 'total_minutes', 'avg_daily', 'TOA_daily']]

final.head()

           stn  years_of_data   total_minutes   avg_daily   TOA_daily
date                    
1900-01-01  AlberniElementary   4       5760    26.100  101.700
1900-01-01  AlberniWeather      6       8265    25.000  101.700
1900-01-01  Arbutus             8       11162   31.200  101.700
1900-01-01  Arrowview           7       10080   23.200  101.700
1900-01-01  Bayside             6       8597    31.600  101.700

我想根据" avg_daily"的一个部分生成/添加一列名为" AC"的值。和" TOA_daily"。

我希望结果如下:

           stn  years_of_data   total_minutes   avg_daily   TOA_daily   AC
date                    
1900-01-01  AlberniElementary   4       5760    26.100  101.700  0.257
1900-01-01  AlberniWeather      6       8265    25.000  101.700  0.246
1900-01-01  Arbutus             8       11162   31.200  101.700  0.307
1900-01-01  Arrowview           7       10080   23.200  101.700  0.228
1900-01-01  Bayside             6       8597    31.600  101.700  0.311

我已经研究了creating a function to do this的方法,但对于如何在我的案例中映射和/或应用它感到困惑,尤其是返回结果as a new column的部分。

1 个答案:

答案 0 :(得分:2)

尝试

final['AC'] = final['avg_daily']/final['TOA_daily']

添加所需的列。