pandas:用列中的最后一个非NaN值replaceNaN

我有一个excel文件,列出了篮球队和每个球队的球员。 新队伍的第一排列出队列0中的球队名称和队列1中的队员。下一列在队伍中第1列中只有一名队员(列0中没有任何东西,因为队伍隐含在最后一列说明团队)。 这是每个团队重复。

Warriors Stephen Curry - Klay Thompson - Kevin Durant Clippers Chris Paul - Blake Griffen - JJ Redick Raptors Kyle Lowry - Demar Derozan 

我将数据导入pandas数据框并计算每个团队的玩家人数。

 import pandas as pd df = read_excel('data.xlsx') print(df) Team Player 0 Warriors Stephen Curry 1 NaN Klay Thompson 2 NaN Kevin Durant 3 Clippers Chris Paul 4 NaN Blake Griffen 5 NaN JJ Redick 6 Raptors Kyle Lowry 7 NaN Demar Derozan 

有反正我可以用合适的团队名称replaceNaN (我知道我只需要填写excel文件中的空白点,但是如果我通过导入或通过pandas处理它,它看起来更清洁)。 我想我需要遍历数据框,存储团队名称,如果它不是NaN ,并将NaNreplace为当前存储的团队名称,直到出现新的团队。

如果你不知道篮球,那么当所有的事情都说完之后,我的数据框应该是这样的:

  Team Player 0 Warriors Stephen Curry 1 Warriors Klay Thompson 2 Warriors Kevin Durant 3 Clippers Chris Paul 4 Clippers Blake Griffen 5 Clippers JJ Redick 6 Raptors Kyle Lowry 7 Raptors Demar Derozan 

你可以在数据fillna()上使用fillna()方法来做到这一点。 method='ffill'告诉它用最后一个有效值填充。

 df.fillna(method='ffill')