在数据框中添加两列并显示其他列

时间:2016-11-10 19:01:00

标签: python pandas dataframe add multiple-columns

您好我添加了两列并获得了一列,以便成功显示这两列的总和。但是我想显示其他列以及该总和列。例如,如果我选择此总和列,我想显示ArrDelayDepDelay或其他列。

以下是我的代码:

flight_data_finalcopy["sumDepArr"] = flight_data_finalcopy["DepDelay"] + flight_data_finalcopy["ArrDelay"]
sum_arrival_delay = flight_data_finalcopy["sumDepArr"]
sum_arrival_delay_fliter = sum_arrival_delay[["UniqueCarrier", "AirlineID", "DepDelay", "ArrDelay", "sumDepArr"]]

print(display(sum_arrival_delay_filter))    

2 个答案:

答案 0 :(得分:3)

您可以将新列附加到数据框:

flight_data_finalcopy["sumDepArr"] = flight_data_finalcopy["DepDelay"] + flight_data_finalcopy["ArrDelay"]

希望这有帮助!

答案 1 :(得分:1)

我认为您需要将其分配给新列:

flight_data_finalcopy['new'] = flight_data_finalcopy["DepDelay"] + 
                               flight_data_finalcopy["ArrDelay"]

或使用add

flight_data_finalcopy['new'] = flight_data_finalcopy["DepDelay"].add(
                               flight_data_finalcopy["ArrDelay"])

通过评论编辑:

删除sum_arrival_delay = flight_data_finalcopy["sumDepArr"],然后将sum_arrival_delay替换为flight_data_finalcopy

样品:

flight_data_finalcopy = pd.DataFrame({'DepDelay':[1,2,3],
                   'ArrDelay':[4,5,6],
                   'UniqueCarrier':[7,8,9],
                   'AirlineID':[1,3,5],
                   'Another_column':[4,8,9]})

print (flight_data_finalcopy)
   AirlineID  Another_column  ArrDelay  DepDelay  UniqueCarrier
0          1               4         4         1              7
1          3               8         5         2              8
2          5               9         6         3              9


flight_data_finalcopy["sumDepArr"] = flight_data_finalcopy["DepDelay"] + flight_data_finalcopy["ArrDelay"]
sum_arrival_delay_filter = flight_data_finalcopy[["UniqueCarrier", "AirlineID", "DepDelay", "ArrDelay", "sumDepArr"]]
print (sum_arrival_delay_filter)   
   UniqueCarrier  AirlineID  DepDelay  ArrDelay  sumDepArr
0              7          1         1         4          5
1              8          3         2         5          7
2              9          5         3         6          9