簡體   English   中英

Python Pandas:用相鄰值替換 NaN

[英]Python Pandas: Replace NaN with neighboring value

我需要分析一個基於實驗記錄數據的 Dataframe。 我的 dataframe 的每一行都類似於給定記錄頻率的測量。

由於每次測量都花費了不同的時間,因此有很多 NaN 值。 我現在想更換這些單元,以使我的 dataframe 具有相同數量的條目。

由於我測量的特性,值 NaN 將意味着對其左側列中的值的測量。 我正在記錄 object 的 position。 當 object 停止移動時,測量也停止。

為此,我遍歷了每一列,當值為 NaN 時,我想用它剩下的值替換它。 k 是列數,u 是行數。 i 和 v 是行數和列數:

while v < u
    i = 0
    while i < k:
          if df.loc[v][i] == NaN:
             df.iat[v][i] = df.loc[v][i-1]
          i = i + 1
    v = v + 1

我嘗試了多個命令(例如 pd.isna.df.iloc[v,i]),但沒有一個有效。 你能幫幫我嗎? 非常感謝!

試試df[col] = df[col].fillna(df[left_col])

嘗試使用fillna(axis=1)

new = df.fillna(method='ffill',axis=1)

這將在空白時填充所有列,其各自的值在左側。

最好只ffill

df = df.ffill(axis=1)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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