簡體   English   中英

如何對 Pandas 中每第 n 列的行進行 ffill()?

[英]How to ffill() the rows in every nth column in Pandas?

我有一個包含 400 多列的表,我想根據第一個值每隔三列“ffill()”一次。

下面的數據是我的代碼的結果:

import pandas as pd
import os


cwd = os.getcwd()

df = pd.read_excel( cwd + '/FILES/BH.xlsx' , skiprows=9)

df = df.drop(columns = ['Unnamed: 0', 'Unnamed: 1','Unnamed: 2','Unnamed: 3'])

df= df.T 

df[0] = df[0].ffill()

df= df.T 

print(df)

我的桌子

在此處輸入圖像描述

我的預期結果

這是我唯一的問題。 根據 Top 上的第一個值,每三列 'ffill()'

在此處輸入圖像描述

我已經在這里檢查了一些樣本,但其中大部分都是硬編碼的

試試這個命令:

df[list(df.columns)[2::3]] = df[list(df.columns)[2::3]].iloc[0]

順便說一句,ffill() 僅填充列中缺失的/無值。 這等同於 fillna(method="ffill")。

暫無
暫無

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

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