簡體   English   中英

如何使用 Pandas 在某些列上執行 ffil?

[英]how to do ffil on some columns using pandas?

如何在某些列上執行ffil 我不需要ffil每一列,我想留下最后一列。

我的輸入期望的輸出

此代碼將ffill每一列和工作表。 但我不需要ffill每張紙的最后一列。

import pandas as pd
writer = pd.ExcelFile('C:/Users/User/Desktop/law.xlsx')

writer.sheet_names


excelfile = pd.ExcelWriter('C:/Users/User/Desktop/law_out.xlsx', engine='openpyxl')
for i in writer.sheet_names:
    df = pd.read_excel(writer, sheet_name=i, header=None)
    df = df.fillna(method='ffill')
    df.to_excel(excelfile, sheet_name=i, index=False)
excelfile.save()

這有幫助嗎?:

for col in ['col1', 'col2']:
    df[col] = df[col].fillna(method='ffill')

如果沒有缺失值但空字符串將它們重新分配為缺失值並與DataFrame.iloc以選擇所有沒有最后的列:

import numpy as np

df.iloc[:, :-1] = df.iloc[:, :-1].replace('', np.nan).ffill()

或者如果有缺失值:

df.iloc[:, :-1] = df.iloc[:, :-1].ffill()

反而:

df = df.fillna(method='ffill')

暫無
暫無

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

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