![](/img/trans.png)
[英]Replace NAN with Dictionary Value for a column in Pandas using Replace() or fillna() in Python
[英]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.